- 数据完整性
字段类型
数字:int,decimal
字符串:char,varchar,text
日期:datetime
布尔: bit
约束(物理上存储数据按照主键,不是按照唯一)
主键:primary key
非空:not null
唯一:unique
默认:default
外键:foreign key()
逻辑删除
对重要的数据进行逻辑删除,而不是物理删除,在表的栏位增加isDelete(或DeleteFlag),设置为bit(0是没有删除,1是删除)
库操作
- 创建数据库
use datebase 数据库名 charset=utf8;
- 删除数据库
drop database 数据库名;
- 切换数据库
use 数据库名;
- 查看当前选择的数据库
show databases;
- 查看当前使用的数据库
show database();
表操作
- 查看当前数据库中所有的表
show tables;
创建表
自动增长 auto_increment
create table 表名 (列及类型);
- 查看表的结构
desc 表名;
- 修改表
alter table 表名 add|change|drop 列名 类型;
- 删除表
drop 表名;
- 更改表名称
rename table 原名称 to 新名称;
- 查看表的创建语句
show create table 表名;
数据操作
- 查询
select * from 表名;
- 增加
全列插入:
insert into 表名 values (......);
缺省插入:
insert into 表名 (列1,...) values (值1,...);
同时插入多条数据:
insert into 表名 values (...),(...)...;
或
insert into 表名 (列1,...) values (值1,...),(值1,...)...;
主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准
修改
update 表名 set 列1=值1,... where 条件;
- 删除
delete from 表名 where 条件;
- 逻辑删除,本质就是修改操作update
alter table students add isdelete bit default 0;
如需删除则
update students isdelete=1 where ...;
备份与恢复
数据库备份
进入超级管理员
sudo -
- 进入mysql库目录
cd /var/lib/mysql
- 运行mysqldump命令
mysqldump -u root -p 数据库名称 > ~/.Desktop/备份文件.sql;
按照提示输入mysql密码
数据恢复
先建数据库,然后导入备份
mysql -u root -p 新建数据库名 < bat.sql
登陆数据库中 source bat.sql