MySQL入门(5)——基于datagrip的SQL语句学习
目录
一、什么是SQL二、SQL约束1、主键约束(1)添加主键约束方式一:创建表时,在字段描述处,声明指定字段为主键方式二:创建表时,在constraint约束区域,声明指定字段为主键方式三:创建表之后,通过修改表结构,声明指定字段为主键
(2)删除主键约束
2、自动增长列3、不同指令删除表的过程4、非空约束(1)添加非空约束方式一:创建表时,在字段描述处,声明指定字段为非空约束方式二:修改表时
(2)删除非空约束
5、唯一约束(1)添加唯一约束方式一:创建表时,在字段描述处,声明唯一方式二:创建表时,在约束区域,声明唯一方式三:创建表后,修改表结构,声明字段唯一:
(2)删除唯一约束
6、默认约束(1)添加默认约束(2)删除默认约束
三、便捷操作
一、什么是SQL
上一篇没有细说什么是SQL,但在一些实操后可以更加清晰的明白其含义
SQL其实就是一种结构化查询语言(Structured Query Language)简称SQL
是一种特殊目的的编程语言,是一种数据库查询和程序设计语言
SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。
可以实现:
最重要的 SQL 命令:
二、SQL约束
SQL 约束用于规定表中的数据规则
如果存在违反约束的数据行为,行为会被约束终止
约束可以在创建表时规定(通过 CREATE TABLE 语句)
或者在表创建之后规定(通过 ALTER TABLE 语句)
在 SQL 中,有如下约束:
正式学习前先建一个表(不理解的看上一章内容)
建好是这样的:
1、主键约束
PRIMARY KEY 约束
(1)添加主键约束
方式一:创建表时,在字段描述处,声明指定字段为主键
格式:
在上面的基础上添加了主键约束,在执行下面的语句时就会有出错:
方式二:创建表时,在constraint约束区域,声明指定字段为主键
格式:
关键字constraint可以省略,如果需要为主键命名,constraint不能省略,主键名称一般没用。
字段列表需要使用小括号括住,如果有多字段需要使用逗号分隔。
声明两个以上字段为主键,称为联合主键。
像上面那种情况还可以在约束区域设置主键:
另外可以在约束区域设置联合主键:
此时再执行下面语句则会出现新的错误:
方式三:创建表之后,通过修改表结构,声明指定字段为主键
格式:
在添加完第26行命令后可见金钥匙图标
(2)删除主键约束
如需删除 PRIMARY KEY 约束则输入命令的格式为:
将下列命令执行:
金钥匙没有了
2、自动增长列
通常希望在每次插入新记录时,数据库自动生成字段的值
也就是每输入一行的时候不用自己定义它是第几行,而是让它自动添加每行的序号
可以在表中使用 auto_increment(自动增长列)关键字
自动增长列类型必须是整形
自动增长列必须为键(通常是用于主键)
下列 SQL 语句把 “persons” 表中的 “pid” 列定义为 auto_increment 主键
格式:
向persons添加数据时,可以不为pid字段设置值,也可以设置成null,数据库将自动维护主键值:
执行结果如下:
当重复执行这条语句时,会自动生成序号:
当我再执行一次这个指令时,看序号:
不指定就自动排序,指定了就显示你指定的序号
扩展:默认AUTO_INCREMENT 的开始值是 1,如果希望修改起始值,使用下列 SQL语法
3、不同指令删除表的过程
4、非空约束
NOT NULL 约束:
下面的 SQL 语句要求 “lastname” 列和 “firstname” 列不接受 NULL 值:
(1)添加非空约束
方式一:创建表时,在字段描述处,声明指定字段为非空约束
格式:
方式二:修改表时
格式:
比如尝试执行则可限定persons表中的firstname数据不可以为空:
(2)删除非空约束
格式:
取消以上的约束:
5、唯一约束
UNIQUE 约束就是指定列的值不能重复
注意
1、UNIQUE 和 PRIMARY KEY 约束均为列提供了唯一性的保证。PRIMARY KEY 是自动定义的 UNIQUE 约束。
2、每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
3、UNIQUE 不限制 null 值 出现的次数
(1)添加唯一约束
与主键添加方式相同,共有3种
方式一:创建表时,在字段描述处,声明唯一
格式:
方式二:创建表时,在约束区域,声明唯一
格式:
方式三:创建表后,修改表结构,声明字段唯一:
格式:
(2)删除唯一约束
删除 UNIQUE 约束,SQL格式:
6、默认约束
default 约束:
用于指定字段默认值。
当向表中插入记录时,如果没有明确的为字段赋值,则自动赋予默认值。
(1)添加默认约束
在创建表时候添加格式:
运行上面内容可的结果:
(2)删除默认约束
格式:
删除约束:
删除约束以后再输入:
会发现不会再在地址上默认为“香港”而成为空
三、便捷操作
其实以上语句有时候记不住是正常的,datagrip图形化工具给提供了更便捷的方式来设定,以后还会学到,这里先了解一下
比如右击【表】,选择【新建】,选择【表】
出现下图,可以根据自己的要求进行选择搭建,很方便快捷
参考资料