一.操作数据库
- 创建数据库:
create database 数据库名;
- 显示已存在的数据库:
show databases;
- 删除数据库:
drop database 数据库名;
- 查看数据库支持的引擎:
show engines;
- 使用数据库:
use 数据库名;
show engines;
也可以用\G或\g结束,前一个能让显示更美观,后一个与;作用相同
二.操作表
2.1 创建表
create table 表名(
属性名 数据类型[完整的约束条件],
……
属性名 数据类型[完整的约束条件],
属性名 数据类型
);
完整的约束条件
- 主键:主键用来标识每个记录,每个记录的主键值都不同;主键必须满足1.主键必须唯一 2.主键字段的值不能相同 3.主键的值为非空值
- 单字段主键:
属性名 数据类型 primary key
- 多字段主键:
primary key(属性名1,属性名2,……,属性名n)
在属性定义完后统一设置主键
- 外键:是表的一个特殊字段,依赖于父类已存在的主键,外键可以为空值。外键的作用是建立该表与父类的关联。
- 外键别名:外键的代号
- 属性1.1,属性1.2,……,属性1.n:子表中设置的外键
- 表名:父表的名称
- 属性2.1,属性2.2,……,属性2.n:父表中设置的主键
- 父子表中设置的属性类型要一样,否则会报错
constraint 外键别名 foreign key(属性1.1,属性1.2,……,属性1.n)
references 表名(属性2.1,属性2.2,……,属性2.n)
- 非空性:
属性名 数据类型 not null
指的是字段值不能为空值
- 唯一性:
属性名 数据类型 unique
指的是该字段值不能重复出现
- 自动增加:
属性名 数据类型 auto_increment
主要用于插入表中生成唯一的id。一个表只能有一个字段使用,从1开始。
- 默认值:
属性名 数据类型 default 默认值
2.2 查看表结构
- 查看表:
show tables;
- 查看表结构:
describe/desec 表名;
查看表数据所用的类型和约束条件
- 查看表详细结构:
show create table 表名;
把分号换成\G
会让显示更美观
2.3 修改表
- 修改表名:
alter table 旧表名 rename [to] 新表名;
- 修改字段的数据类型:
alter table 表名 modify 属性名 新数据类型;
- 修改字段(属性)名:
alter table 表名 change 旧属性名 新属性名 新数据类型;
- 增加字段:
alter table 表名 add 属性名1 数据类型[完整的约束条件] [first | alter 属性名2];
first作用是将新增字段设为表的第一个字段;alter作用是将新增字段加到属性2之后;若无指定,新增字段默认为最后一个字段。
- 删除字段:
alter table 表名 drop 属性名;
- 修改字段的排列位置:
alter table 表名 modify 属性名1 数据类型 first | alter 属性名2;
- 更改表的存储引擎:
alter table 表名 engine=存储引擎名;
- 删除表的外键约束:
alter table 表名 drop foreign key 外键别名;
2.4 删除表
- 删除没有被关联的表:
drop table 表名;
- 删除其他表关联的父表:先用
alter table 表名 drop foreign key 外键别名;
然后就可以用drop table 表名;
删除表;