常见概念
数据库
数据库管理系统
数据库管理员
常见操作
登录
1
mysql -u root -p
退出
1
exit
数据库实例操作
1
2
3
4show databases; # 查看所有数据库实例
create database 数据库实例名 # 查看创建语句
drop database 数据库实例名 # 删除数据库实例名
use 数据库实例名 # 使用数据库实例名表操作
1
2
3show tables; # 查看所有的表
show create table 表名; # 查看创建语句
drop table 表; # 删除表
表的操作
新建
语法
1 | create table 表名( |
案例
1 | create table dept( |
复制表
方式一
1
create table 表名 子查询;
方式二
1
create table 表名 like 表名;
修改列
添加列
1
alter table 表 add 列名 类型 约束] [comment '注释'];
修改列
1
alter table 表 change old列名 new列名 类型 约束 [comment '注释'];
1
alter table 表 modify 列名 类型 约束 [comment '注释'];
删除列
1
alter table 表 drop 列名;
常见的约束
主键
含义:用来区分表中记录数的一列或多列(此时一般称为复合主键)
特点:非空且唯一
外键
含义:表中的一列的值是来自其他表中的主键或唯一列
特点:值只能是引用列的值或为null(前提设置可以为空)
NOT NULL
含义:列的值不能为空
UNIQUE
含义:表中的指定的unique的列必须是唯一的
特点:可以为null
ENUM
SET
CHECK
语法
1 | create table 表名( |
修改约束
添加约束
1
alter table 表名 add constraint 约束名 约束类型 (字段名)
删除约束
1
alter table 表名 drop primary key -- 删除主键约束
1
alter table 表名 drop foreign key 约束名 -- 删除外键约束
1
alter table 表名 drop index 索引名 -- 删除唯一约束
案例
TODO
修改表名
语法
1 | alter table 旧表 rename 新表; |
案例
1 | alter table new_book rename old_book; |
DML
含义
数据操作语言
分类
- insert
- update
- delete
insert 语句
语法
插入一条记录
1
insert into 表名 [(列1,...,列N)] values (列1的值,...,列N的值);
批量插入
1
insert into 表名 [(列1,...,列N)] values (列1的值,...,列N的值),(列1的值,...,列N的值),...;
1
insert into 表名 [(列1,...,列N)] 子查询;
案例
1 | insert into dept values(50,'开发部','广州'); |
update语句
语法
1 | UPDATE table SET column = value [, column = value] [where condition]; |
案例
1 | update emp set deptno = 20 where empno = 7782; |
delete语句
语法
1 | delete from table [where condition]; |
案例
1 | delete from dept where deptno = 10; |
DDL
含义
数据定义语言,比如:create table、create view、truancate等等
truncate
含义
截断表
和delete区别
truncate是DDL语言,delete是DML语言
truncate只能删除表中的全部记录,delete可以指定删除记录
trancate会是否表空间,delete不会是否表空间
trancate不能回滚,delete可以回滚