我是小白,刚接触MySQL不久,现阶段正在学习,为此在CSDN上留下自己的学习笔记。如果有错误的地方还请大家见谅,评论或者私发我错误地方哦,谢谢大家,嘿嘿~
一些前面记录的基础知识:
数据库基础知识及常用命令之库的增删查(传送门):库的增删查
数据库基础知识及常用命令之表的增删改查(传送门):表的增删改查
数据库基础知识及常用命令之表内内容的增删改查(传送门):表内内容的增删改查
此篇将记录创建表的语法,在库book1里进行操作。
数据完整性约束:百度百科
引言:
在用户对数据进行插入、修改、删除等操作时,为了防止不符合规范的数据进入数据库,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。
创建表的伪代码:
create table 库名.表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);
注意:
1、最后一个字段之后不能加逗号
2. 在同一张表中,字段名是不能相同
3. 宽度和约束条件可选,字段名和类型是必须的
约束条件:是在数据类型之外对字段附加的额外的限制。
常见约束:
not null 非空
default 默认值
auto_increment 必须要加一个键 自增长 可以不用进行插入了
primary key 主键 非空且唯一
以下内容为常见约束的举例
创建表,id默认自增长:
create table b2(
-> id int primary key auto_increment,
-> name varchar(16) not null,
-> classify enum('computer','python') not null default 'computer'
-> );
运行截图
查看表
插入值:insert into b2(name) values('machine'),('learning'),('big data');
运行截图
创建表,id自定义初始值:
create table b3(
-> id int primary key auto_increment,
-> name varchar(20) not null,
-> classify enum('computer','python') not null default 'computer'
-> )auto_increment = 50;
运行截图
插入值:insert into b3(name) values('machine'),('learning'),('big data');
运行截图
唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的。
创建方式一:create table b4(x int unique);
运行截图
创建方式二:
create table b5(
x int,
unique key(x)
);
运行截图
建表:
create table service(
ip varchar(15),
port int,
unique key(ip,port)
);
插入值:
insert into service values
('1.1.1.2',3306);
insert into service values
('1.1.1.1',3307);
insert into service values
('1.1.1.1',3306);
运行截图
作用:
(1).保证实体的完整性;
(2).加快数据库的操作速度;
(3).在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;
(4).ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
特点:
(1). 一个表中只能有一个主键。如果在其他字段上建立主键,则原来的主键就会取消。在ACCESS中,虽然主键不是必需的,但最好为每个表都设置一个主键。
(2).主键的值不可重复,也不可为空。
建表,插入值:
create table b6(
id int primary key auto_increment
);
insert into b6 values();
select * from b6;
insert into b6 values();
select * from b6;
insert into b6 values();
select * from b6;
运行截图
建表,插入值:
create table b7(
x varchar(15),
y int,
primary key(x,y)
);
insert into b7 values
('1.1.1.1',3307);
insert into b7 values
('1.1.1.1',3308);
insert into b7 values
('1.1.1.1',3308);
运行截图
此篇为创建表的完整性语法。
如果您感觉有用的话,请点赞评论收藏哦,非常感谢,好人一生平安!!