一、数据库简介
1.存储数据的方式有哪些
特定文件/内存/第三方云服务器/数据库服务器
2.什么是数据库
数据库是按照一定的形式组织存储数据,目的是为了更好的操作数据 —— 增删改查
(1)数据库的发展历史
网状数据库 -> 层次型数据库 -> 关系型数据库 -> 非关系型数据库(NoSQL)
(2)关系型数据库逻辑结构
Server -> Database -> Table -> Row -> Column
服务器 数据库 数据表 行 列
3.mysql数据库
Oracle: mysql
马丁: MariaDB
XAMPP:服务器套装,包含有多款服务器,包含mysql,Apache
4.mysql命令
客户端连接服务器端:
mysql.exe -h127.0.0.1 -P3306 -uroot -p
- -h host IP地址/域名 127.0.0.1/localhost (指向自己电脑)
- -P port 端口号
- -u user 用户名 root 管理员账户
- -p password 密码 xampp下root密码为空
连接命令的结尾不能加分号,否则是游客。
常用的管理命令:
所有的管理命令都以英文的分号结尾
命令 | 描述 |
---|---|
quit; | 退出连接 |
mysql -uroot -p | 连接数据库 |
show databases; | 显示当前服务器下所有的数据库 |
use [database name] | 改变目标数据库 |
show tables; | 显示当前数据库的所有表 |
5. 标准的SQL命令分类
定义数据(DDL):create/drop/alter(修改)
操作数据(DML):insert/delete(删除)/update(修改数据)
查询数据(DQL):select
控制权限(DCL):grant(授权)/revoke(收权)
6.常用的SQL命令
(1)删除数据
delete from user where uid=’2’;
(2)修改数据
update user set upwd=’666666’,isOnline=’n’ where uid=’3’;
二、计算机存储字符
1.如何存储?
(1)英文字符
- ASCII:总共有128个,对所有的英文字母及其符号进行了编码
- Latin-1:总共有256个,对欧洲字符进行的编码,兼容ASCII
(2)中文字符
- GB2312:对常用的6千多汉字进行了编码,兼容ASCII
- GBK:对2万多汉字进行了编码,兼容GB2312
- BIG5:台湾繁字体编码
- Unicode:对世界上主流国家常用的语言进行了编码,兼容ASCII,具体存储方案utf-8,utf-16,utf-32
2.mysql中文乱码产生的原因
mysql默认使用Latin-1编码,没有对中文进行编码
解决乱码:
- 脚本文件另存为的编码为utf-8
- 客户端连接服务器端的编码为utf-8
- 服务器端创建数据库使用的存储编码为utf-8
三、约束和自增
1.列约束
(1)默认值约束 —— default
可以使用default来设置默认值和应用默认值
具体应用默认值有两种方式:
-
insert into laptop values(4, ‘小米Air’, default, ....);
-
insert into laptop(lid,title) values(5,’小新700’);
给特定的列提供值,没有出现的列自动应用默认值
(2)检查约束 —— check
称作自定义约束,可以自己添加约束条件
create table student(
score tinyint check( score>=0 and score<=100 )
);
tip:mysql不支持检查约束,会极大的影响数据的插入速度,后期使用js代替。
(3)外键约束
声明了外键约束的列,取值范围会在另一个表的主键列
注意事项:外键列要和对应的另一个表主键列的列类型保持一致
foreign key(外键列) references 另一个表(主键列)
2.自增列
auto_increment:
自动增长,在插入值的时候只需要赋值为null,就会自动获取最大值然后加1插入。
注意事项:
自增列必须添加在整数形式的主键列;允许手动赋值。