Mysq - 基本数据类型,约束,表的修改,删除表,清空表

1.基本数据类型

整数类型:bit,bool,tinyint,smallint,mediumint,int,bigint

浮点数类型:floatdouble,decimal

字符串类型:char,varchar,tinytext、text,mediumtext,longtext,tinyblob,blob,mediumblob、long

日期类型:datedatetime,timestamp,timeyear

 

2.约束

约束类型:主键外键唯一非空自增默认值检查
关键字: primary key foreign key

unique

not null

auto_increment

default

check

主键约束 primary key

主键约束不能为空,不能重复,每个表只能有一个自增长字段

#主键约束+自增长
CREATE TABLE 表名称 (
字段名称 基本数据类型 AUTO_INCREMENT,
PRIMARY KEY(字段名称)
)

#添加
ALTER TABLE 表名称 ADD PRIMARY KEY (字段名称1,字段名称2);
#删除
ALTER TABLE 表名称 DROP PRIMARY KEY 字段名称;

 

外键 foreign key

外键约束是保证一个或两个表之间的参照完整性,外键是构建于一个表的两个字段或是两个表的两个字段之间的参照关系

比如有A,B两个表,B的外键字段u_id 连接A的u_id字段,如果此时向B的u_id添加数据 但是A的u_id没有这个数据,此时

就会报错,但是向A的u_id添加数据不受到限制

# 外键
CREATE TABLE 表名称1 (
字段名称 基本数据类型,
FOREIGN KEY(字段名称) REFERENCES 表名称2(字段名称)
)


#添加
ALTER TABLE 表名称1 ADD FOREIGN KEY(字段名称1,字段名称2) REFERENCES 表名称2(字段名称1,字段名称2);
#删除
ALTER TABLE 表名称 DROP FOREIGN KEY 字段名称;

 

唯一 unique

数据不能重复,可以为多个null值

CREATE TABLE 表名称 (
字段名称 基本数据类型,
UNIQUE(字段名称)
)

#删除
ALTER TABLE 表名称 DROP INDEX 字段名称;

#添加
ALTER TABLE 表名称 ADD UNIQUE (字段名称1, 字段名称2);

 

非空 not null与默认值 default,可以为null

非空约束用于确保当前列的值不为空值,非空约束只能出现在表对象的列上

CREATE TABLE 表名称(
字段名称 基本数据类型 NOT NULL,
字段名称 基本数据类型 NOT NULL DEFAULT 默认值,
字段名称 基本数据类型 NULL
)

#添加非空
ALTER TABLE 表名称 MODIFY 字段名称 基本数据类型 NOT NULL

#取消非空
ALTER TABLE 表名称 MODIFY 字段名称 基本数据类型 NULL

#取消非空添加默认值
ALTER TABLE 表名称 MODIFY 字段名称 基本数据类型 DEFAULT 默认值 NULL

 

检查约束 check

检查某个字段是否符合要求,一般是值的范围

CREATE TABLE 表名称(
字段名称 VARCHAR(1) CHECK('' or ''),
字段名称 INT(3) CHECK(age < 130 and age > 0)
);

 

修改表

#添加字段(add)
alter table 表名 add 列名 列的类型 列的约束;

#修改列(modify)
alter table 表名 modify 列名 列的类型 列的约束;

#修改列名(change)
alter table 表名 change  列名 新的列名 列的类型 列的约束;

#删除列(drop)
alter table 表名 drop 列名

 

删除表与清空表:

#删除表
drop table 表名;

#清空表
truncate table 表名

 

posted on 2022-12-31 19:16  Mikasa-Ackerman  阅读(19)  评论(0编辑  收藏  举报

导航