表的创建
create table 表名(
字段名1 数据类型
字段名2 数据类型
字段名3 数据类型
......
);
数据类型
数据类型 | 含义 |
---|---|
int | 整数型 |
bigint | 长整型 |
float | 浮点型 |
char | 定长字符串 |
varchar | 可变长字符串 |
date | 日期类型 |
BLOB | 二进制大对象 |
CLOB | 字符大对象 |
char和varchar如何选择
当char(6)中插入4个字符时会分配6个字符的空间,而varchar(6)会分配4个字符的空间,在一些固定长度的字符建议用char,因为char的效率高,不需要在计算所需空间,而长度不定的建议使用varchar
注意varchar(6)最大分配空间不能超过6
表的插入
insert into 表名(字段1,字段2,字段3)values(值1,值2,值3)
字段的数量和值的数量相同,并且数据类型相同
若只有部分字段插入,其他的值为NULL
插入多行用 , 隔开
当insert语句执行成功后,表格中必然会多一行记录,后期只能通过update进行更新
表的复制
将查询结果当做表创建出来
create table 表名 as select语句;
将查询结果插入到一张表中
insert into dept1 select * from dept
修改数据
update 表名 set 字段名1=值1,字段名2=值2 where 条件
删除数据
delete from 表名 where 条件
如果没有条件将全部删除
约束
在创建表的时候,可以给表的字段添加相应的约束,目的是保证表中数据的合法性,有效性,完整性。
非空约束
not null
约束的字段不能为NULL
唯一约束
unique
约束的字段不能重复,但可以为null
列级约束:在表字段创建时直接加在后面的
表级约束:unique(字段1,字段2)可以多个字段联合约束
主键约束
primary key
约束的字段既不能为NULL也不能重复
主键约束:primary key
主键字段:后加primary key的字段
主键值:主键字段的每一个值
主键作用
表的设计三范式有要求,第一范式就要求任何一个表都有主键
主键值是这行记录在这张表的唯一标识
主键约束有且只有1个
主键值自增
anto_increment
外键约束
foreign key
外键的值必须来源于某个字段
外键约束:foreign key
外键字段:后加foreign key的字段
外键值:外键字段的每一个值
可以为NULL
被引用的字段必须有唯一性