建库建表、增删改查
1、建库
CREATE DATABASE 数据库名;
2、删库
drop database <数据库名>;
3、进入数据库
use 数据库名
4、建表
CREATE TABLE 表名 (数值);
5、增
insert into 表名 values (数值)
6、删
删除数据表:
drop table 数据表名
删除数据表中数据:
delete from 数据库名 where ...
7、改
UPDATE 表名 SET 修改数值
8、查
SELECT 字段名
FROM 表名
加条件
约束
1、主键约束
primary key
创建时增加约束:
创建完后修改约束:
2、非空约束
建表时:
<字段名> <数据类型> NOT NULL;
修改时:
ALTER TABLE <数据表名>
CHANGE COLUMN <字段名>
<字段名> <数据类型> NOT NULL;
删除:
ALTER TABLE <数据表名>
CHANGE COLUMN <字段名> <字段名> <数据类型> NULL;
3、默认约束
建表时:
<字段名> <数据类型> DEFAULT <默认值>;
修改时:
ALTER TABLE <数据表名> CHANGE COLUMN <字段名><字段名><数据类型> DEFAULT <默认值>;
删除约束:
ALTER TABLE <数据表名> CHANGE COLUMN <字段名> <字段名> <数据类型> DEFAULT NULL;
4、外键约束
建表时:
[CONSTRAINT <外键名>] FOREIGN KEY 字段名 [,字段名2,…]
REFERENCES <主表名> 主键列1 [,主键列2,…]
修改时:
ALTER TABLE <数据表名> ADD CONSTRAINT <索引名>
FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);
删除:
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;
范式
1、第一范式:
数据库表的每一列都是不可分割的原子数据项
2、第二范式:
在满足第一范式的情况下:
确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关
3、第三范式:
再满足第二范式的情况下:
任何非主属性不依赖于其他非主属性