五、数据库类型与约束
为了更加准确的存储数据,保证正确的数据有效,需要合理的使用数据类型和约束来限制数据的存储
5.1、常用数据类型
-
整数:int
有符号范围(-2147483648 -214748637),无符号(unsigned),范围(0-4294967295)
-
小数:decimal
例如:decimal(5,2)表示共存 5 位数,小数占 2 位,整数占 3 位
-
字符串:varchar
范围(0~65533),例如:varchar(3) 表示最多存 3 个字符,一个中文或一个字母都占一个字符 -
日期时间:datetime
范围:(1000-01-01 00:00:00~9999-12-31 23:59:59),例如:2022-03-16 22:56:30
5.2、约束
-
主键(primary key): 能唯一标识表中的每一条记录的属性组
-
非空(not null): 此字段不允许填空值
-
唯一(unique): 此字段的值不允许重复
-
默认值(default): 当不填写此值时会使用默认值,如果填写时以填写为准
-
外键(foreign key): 一个表中的资格字段引用另一个表的主键
六、数据库的操作
目标
学会使用 SQL 语句实现数据库的创建、使用、修改、删除操作
6.1、主要操作
➢ 创建数据库
➢ 使用数据库
➢ 修改数据库
➢ 删除数据库
6.2、创建数据库
◆ 语法格式
# 创建数据库
create database 数据库名 [charset] [字符编码] [collate] [校验规则];
# 创建结果查看
show create database 数据库名;
◆ 举例说明
# 创建一个叫 python 的数据库:
create database python charset=utf8 collate=utf8_general_ci;
# 查看创建结果
show create database python;
6.3、使用数据库
◆ 语法格式
# 使用(打开)数据库
use 数据库名;
# 查看当前使用的数据库
select database();
◆ 举例说明
# 使用(打开)数据库
use python;
# 查看当前使用的数据库,database()是 sql 的内置函数,括号不能省略!
select database();
6.4、修改数据库
◆ 语法格式
alter database [数据库名]
[default] character set <字符集名>
[default] collate <校对规则名>;
◆ 举例说明
# 创建 testpython 数据库,字符集为 gb2312
create database testpython charset=gb2312;
# 修改 testpython 的指定字符集修改为 utf8mb4,默认校对规则修改为 utf8mb4_genral_ci
alter database testpython;
default character set utf8mb4;
default collate utf8mb4_general_ci;
6.5、删除数据库
◆ 语法格式
drop database 数据库名;
◆ 举例说明
# 删除 python 数据库
drop database python;
6.6、查看所有数据库
◆ 语法格式
show databases;
◆ 备份数据库
在测试工作中,为了防止对数据库产生错误操作,或产生垃圾数据,都需要在操作前,适当对数据库进行备份操作。(垃圾数据:例如在自动化测试中,对注册模块生成的所有数据,属于典型的垃圾数据)
备份方式:
-
使用 navicat 工具实现
-
使用命令实现
注意:命令是不需要连接数据库以后执行的
mysqldump -uroot -p 数据库名 > python.sql
# 按提示输入 mysql 的密码
◆ 恢复数据库
两种方式:
- navicat 连接软件对备份的数据进行恢复
- 命令行实现
mysql -uroot -p 数据库名 < 备份名.sql
# 根据提示输入 mysql 密码