博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day1-数据库基础
阅读量:4631 次
发布时间:2019-06-09

本文共 2693 字,大约阅读时间需要 8 分钟。

数据库基本概念

数据库是什么

数据库是用来存储数据的仓库,本质上就是一套基于CS架构的服务端和客户端程序,最终将数据存储在服务器端的磁盘中。之前学过的数据存储方式有:

  1. 列表 字典......等等,是在内存中的数据,缺点是断电丢失,优点是速度快
  2. 文件存储,如json,txt......等等,优点是可以实现永久保存,缺点是速度慢

 

为什么要使用数据库

1.提高速度

2.通过网络来访问不同机器上的数据:我们的程序将来可能会分布在不同的机器上,而每台机器性能肯定有上限,如果一台机器不能够满足,就需要用多个机器来共同完成任务。

  • 分布式:每个服务器提供不同的服务,有时候某个业务流程可能会涉及到多个服务器。所以通信繁琐,容灾性也没有集群好,但耦合度低,易维护
  • 集群:所有服务器提供的服务是一模一样的,容灾性强,易扩展,可插拔

3.管理用户权限

4.多个客户端并发访问,保证数据安全

 

数据库的分类

关系型数据库 :数据之间可以存在关联关系,数据库会帮我们维护这种关系。通常把磁盘作为存储介质。常用的关系型数据库有:

  • MySQL:目前最流行的关系型数据库,免费开源
  • SQLserver:微软推出,只能运行在windows平台下
  • oracle:最强大的关系型数据库,主要在集群和用户管理比较突出,收费
  • db2:IBM的产品,主要面向企业级用户

 

非关系型数据库:不能帮我们维护数据之间的关系,通常把内存作为存储介质。常用的非关系型数据库有:MongoDB、Redis、memcahe

 

数据库重要概念

数据(Column):文件中的某个字符串

记录(Row):文件中的某一行

表(Table):某个文件

库(DataBase):就是一个文件夹

DBMS:数据库管理系统(指的就是数据库软件)

数据库服务器:运行DBMS的计算机

 

MySQL使用前奏

在安装好Mysql后,有bin文件用来存储所有执行文件,bin文件中的mysqld.exe是服务端程序,mysql.exe是客户端程序。需要先运行mysqld.exe。data文件是用来存数据的地方

运行客户端时,如果是直接双击进入为游客模式;正确的运行方式是在终端里输入命令指定用户名和参数,如:mysql -h127.0.0.1 -P3306 -uroot -p123

  • -h:要连接的服务端主机名称,如果是本机可以忽略
  • -P:指定的端口,Mysql默认端口号为3306,可以不写
  • -u:指定用户名
  • -p:指定密码(一般不指定密码,因为此时显示的密码是明文。通常直接-p后回车再输入密码)

 

以管理员身份运行终端

  • mysqld --install # 注册系统服务,注册后可设置为自动启动,下次就不用自己开启服务端
  • sc delete mysql # 删除服务
  • net start mysql # 启动服务
  • net stop mysql # 停止服务
  • tasklist | findstr mysqld # 查看进程
  • taskkill -f /pid 18536 # 关闭指定的进程

 

mysql 5.6 管理员密码的设置

知道密码时:

​ 1.登录到mysql执行更新语句来修改

  • 进入mysql -> use mysql -> update user set password = password("123") where host = "localhost" and user = "root" -> flush privileges;或者重启mysqld(注123位你设置的密码)

​ 2.使用mysqladmin小工具修改

  • mysqladmin -uroot -p123 password 321(注123为原来的密码,321设置你的新密码)

不知道密码时通过跳过授权表来修改:

  • 以管理员身份运行终端 -> net stop mysql -> mysqld --skip-grant-tables(跳过授权表开启服务端) -> 以普通身份运行终端 -> mysql -uroot -p 直接回车不输入密码 -> use mysql -> update user set password = password("123") where host = "localhost" and user = "root"; -> 重新正常启动服务端

 

简单的使用

数据必须找个文件存起来也就是表,表必须存在库中也就是文件夹中

库的操作

# 切换数据库use 数据库名称# 查看所有数据库show databases;show create database 数据库名;  # 查看单个数据库的详细信息select database();  # 查看当前库# 创建数据库create database 数据库名称;create database 数据库名称 charset utf8;  # 创建数据库时指定字符编码,不能写utf-8# 删除数据库drop database 数据库名称;# 修改数据库编码,可以进入到数据库文件夹修改db.opt。db.opt的第一行是编码,第二行是校对规则alter database 数据库名 charset utf8;  # 修改数据库的字符编码# 修改数据库名,可以直接修改对应的文件夹名称

表的操作

# 创建表create table 表名称(列名称 列的数据类型, 列名称2 列的数据类型...);# 创建表时指定编码Create table 表名称(列名称 列的数据类型, 列名称2 列的数据类型...)charset gbk;# 查看当前库下所有表show tables;# 查看表结构desc 表名称;# 查看表的创建语句show create table 表名称;# 删除表drop table 表名称;# 清空表truncate table 表名称;# 修改表结构# 添加字段alter table 表名称 add 列名称 数据类型;# 删除字段alter table 表名称 drop 列名称;# 修改数据类型alter table 表名称 modify 列名称 新的数据类型;# 修改列名alter table 表名称 change 旧的列名 新的列名 新的类型;# 修改表的名称rename table 旧名称 to 新名称;# 修改编码alter table 表名称 charset utf8;

转载于:https://www.cnblogs.com/863652104kai/p/11167432.html

你可能感兴趣的文章
sqlmap使用
查看>>
路由转发
查看>>
UITableView
查看>>
MySQL笔记
查看>>
SQL查询强化训练(2)
查看>>
Django 分页
查看>>
layuiAdmin 项目修改
查看>>
创新点子:博客图文混编工具
查看>>
NSUserDefault、NSMutableDictionary的setValue和setObject区别
查看>>
TreeSet&第三方比较器&Map
查看>>
经典算法mark
查看>>
http://channel9.msdn.com/Events/MIX
查看>>
静态页面:html5个人博客模板《绅士》
查看>>
mvc 基础概念
查看>>
mysql数据恢复
查看>>
kali 插耳机没声音
查看>>
Codeforces Round #294 (Div. 2) D. A and B and Interesting Substrings
查看>>
如何巧妙使用ZBrush中的Image Plane插件
查看>>
windows安装theano和keras
查看>>
141. Linked List Cycle
查看>>