DDL :数据库定义语言,操作数据库对象的,比如数据库对象:表,表有行有列,行,就是数据记录;列:属性(字段)
三个语句: CREATE 语句: 创建对象 ,比如,创建表
ALTER 语句:改变修改对象的,比如,修改表
DROP 语句: 删除对象的,比如:删除表,删除用户,删除数据库
工作中:使用情况(开发: DDL 定义数据库 -- 》DML 操作数据 --》DQL 查询数据)
(测试: 编写测试计划,方案,用例,做测试准备工作,待代码提交至测试,
执行测试 -- 》DQL ((DML)))
-- create 语句
创建数据库: CREATE DATABASE 数据库名;
CREATE DATABASE TEST0307;
SHOW DATABASES; -- 命令显示数据库情况
USE test0307; -- use 数据库名,选择具体的数据库操作,相当于在工具中用鼠标直接选择
-- 创建表:
CREATE TABLE 表名(列名1 数据类型(size),
列名2 数据类型(size),
...
DATE);
-- desc 命令,查看表的结构,即表中列的信息
-- alter 修改,改变表
-- 加列
ALTER TABLE 表名 ADD(列名 数据类型(),
列名2 数据类型(),
...)
-- 改列:一般都是用来修改列的取值范围的,modify
-- 如果需要列的名字,使用 change ,小心谨慎
# 修改列的取值范围,扩大存储范围
ALTER TABLE t112 MODIFY id2 FLOAT(8,3);
# 修改列的数据类型
ALTER TABLE t112 MODIFY id2 VARCHAR(20);
# 修改列名
ALTER TABLE t112 CHANGE id2 idid22 VARCHAR(20); -- 会影响到新增数据以及调用这个表的列的程序代码
# 修改表的名字: rename
ALTER TABLE 表名 RENAME 新表名;
ALTER TABLE t112 RENAME tt118;
-- 删除列
ALTER TABLE 表名 DROP 列名;
ALTER TABLE yp DROP yp_scrq;
---------------------------- DROP 语句 删除数据库对象
-- 删除表
DROP TABLE 表名; -- 谨慎使用,使用之前必须备份数据
DROP TABLE tt118;
-- 删除数据库
DROP DATABASE 数据库名;
DROP DATABASE TEST0307; -- 没有授权,不要使用
面试: DROP 、 DELETE 的区别, DELETE 删除的是表中数据,删除的时候是一条一条删除,即使不加查询条件,对表
结构没有影响。
DROP :删除的是表结构和表数据
DROP 删除要比 DELETE 效率高。
------------------------------------ 约束 (了解)--------------------------------
约束:用来限制什么样的数据可以进入表中,什么样的数据无法写入,直接影响的就是 DML 语句的执行;
4种常见的约束:非空约束、唯一约束、主键约束、外键约束(完整性约束)
约束一般建议在创建表的时候创建上去,约束都是添加在列上面的。
1、非空约束:如果有一列添加了非空约束,那么这一列的值不能为空值 NULL ,即,插入数据的时候, NULL 无法写入
例如:公民信息表:身份证号、姓名、年龄、性别、电话
DROP TABLE human;
CREATE TABLE human(
id CHAR(18),
NAME VARCHAR(30) NOT NULL,
age INT(3),
sex CHAR(2),
phone CHAR(11));
2、 唯一约束:如果有一列添加了唯一约束,那么这一列如果有值的话,这个值必须唯一,不能和该列其它值重复;
但是这个列可以为空值。
即:这个列可以没有值,为 NULL ,但是如果有值,必须唯一不得重复
DROP TABLE human;
CREATE TABLE human(
id CHAR(18),
NAME VARCHAR(30),
age INT(3),
sex CHAR(2),
phone CHAR(11) UNIQUE);
3、主键约束:是非空约束和唯一约束的集合,这个列既不能为空,也不能重复 (结论:用主键信息作为查询条件,有且只有一条结果出来。)
DROP TABLE human;
CREATE TABLE human(
id CHAR(18) PRIMARY KEY,
NAME VARCHAR(30),
age INT(3),
sex CHAR(2),
phone CHAR(11) UNIQUE);
4、外键约束,也叫完整性约束:涉及两个表,其中一个是父表,一个子表:这两个表之间存在继承和从属关系。
如果子表中一个列添加了外键约束,这个列的值必须要在父表中先存在,即子表的数据要在父表中 能找到,数据一般
都是编号,不会将名称作为外键。
语法: FOREIGN KEY(子表的列名) REFERENCES 父表的表名(父表列名)