目录
前言:
大家好啊!
好久不见,甚是想念!
今天来给大家介绍介绍SQL语言之数据定义语言、数据操作语言,也就是DDL和DML了。
DDL:
DDL(Data Define Languge):数据定义语言,用于库和表的创建、修改、删除
关键字:create, drop,alter等
数据库操作:
创建数据库 | create database 数据库名称; |
创建数据库,判断不存在,再创建 | create database if not exists 数据库名称; |
创建数据库,并指定字符集 | create database 数据库名称 character set 字符集名; |
查询所有数据库的名称: | show databases; |
查询某个数据库的字符集:查询某个数据库的创建语句 | show create database 数据库名称; |
修改数据库的字符集 | alter database 数据库名称 character set 字符集名称; |
删除数据库 | drop database 数据库名称; |
判断数据库存在,存在再删除 | drop database if exists 数据库名称; |
查询当前正在使用的数据库名称 | select database(); |
使用数据库 | use 数据库名称; |
数据表操作:
表的创建 | create table 表名( 列名1 数据类型1 【字段约束】, 列名2 数据类型2 【字段约束】, .... 列名n 数据类型n 【字段约束】 ); * 注意:最后一列,不需要加逗号(,) |
查询当前数据库中所有的表 | show tables; |
查询某个数据库中所有的表 | show tables from 数据库名称; |
查询表结构 | desc 表名; |
修改表名 | alter table 表名 rename to 新的表名; |
修改表的字符集 | alter table 表名 character set 字符集名称; |
添加一列 | alter table 表名 add 列名 数据类型; |
修改列名称 类型 | alter table 表名 change 列名 新列别 新数据类型; alter table 表名 modify 列名 新数据类型; |
删除列 | alter table 表名 drop 列名; |
删除表 | drop table 表名; drop table if exists 表名; |
约束:
六大约束:
NOT NULL:非空,用于保证该字段的值不能为空
比如姓名、学号等
DEFAULT:默认,用于保证该字段有默认值
比如性别
PRIMARY KEY:主键,用于保证该字段的值具有唯一性,并且非空
比如学号、员工编号等
UNIQUE:唯一,用于保证该字段的值具有唯一性,可以为空
比如座位号
CHECK:检查约束【mysql中不支持】
比如年龄、性别
FOREIGN KEY:外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值。在从表添加外键约束,用于引用主表中某列的值,比如学生表的专业编号,员工表的部门编号,员工表的工种编号
DML:
DML(Data Manipulate Language):数据操纵语言,用于添加、删除、修改数据库记录,并检查数据完整性
关键字:insert, delete, update 等
插入语句:
语法
insert into 表名(字段名,...)
values(值1,...);特点
1、字段类型和值类型一致或兼容,而且一一对应
2、可以为空的字段,可以不用插入值,或用null填充
3、不可以为空的字段,必须插入值
4、字段个数和值的个数必须一致
5、字段可以省略,但默认所有字段,并且顺序和表中的存储顺序一致
修改语句:
修改单表语法
update 表名 set 字段=新值,字段=新值
【where 条件】修改多表语法
update 表1 别名1,表2 别名2
set 字段=新值,字段=新值
where 连接条件
and 筛选条件
删除语句:
方式1:delete语句
单表的删除 ★
delete from 表名 【where 筛选条件】
多表的删除
delete 别名1,别名2
from 表1 别名1,表2 别名2
where 连接条件
and 筛选条件;方式2:truncate语句
truncate table 表名
会直接删除掉全部数据,不会删除掉表delete pk truncate【面试题★】
1.truncate不能加where条件,而delete可以加where条件
2.truncate的效率高一丢丢
3.truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始
delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
4.truncate删除不能回滚,delete删除可以回滚
拜拜!咱们下回见!