一、DDL—表—创建表与数据类型的设定
(1)要求
根据需求创建表(设计合理的数据类型、长度)
设计一张员工信息表,要求如下:
1、编号(纯数字)
2、员工工号(字符串类型,长度不超过10位)
3、员工姓名(字符串类型,长度不超过10位)
4、性别(男/女,存储一个汉字)
5、年龄(正常人年龄,不可能存储负数)
6、身份证号(二代身份证号均为18位,身份证中有X这样的字符)
7、入职时间(取值年月日即可)
(2)解答
CREATE TABLE tb_user01 (
id INT COMMENT '编号',
worknumber VARCHAR(10) COMMENT '工号',
name VARCHAR(10) COMMENT '姓名',
gender CHAR(1) COMMENT '性别',
age TINYINT UNSIGNED COMMENT '年龄',
idcard CHAR(18) COMMENT '身份证号',
entrydate DATE COMMENT '入职时间'
) COMMENT '员工表';
注:(unsigned:无符号,年龄一般都是0~100岁之间)
(3)实操
二、DDL——表操作——修改:
(1)往表中添加字段
- ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
注释:alter:改变
案例:
接着上面例子:在表 tb_user01 中增加一个新的字段”昵称”为nickname,类型为varchar(20)。
(2)修改表中的字段
- 修改数据类型
- ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
注释:modify:修改
- 修改字段名和字段类型
- ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
案例:接着上面例子:在表 tb_user01 中的nickname字段修改为username,类型为varchar(30)。
(3)删除表中的字段
- 删除字段
- ALTER TABLE 表名 DROP 字段名;
案例:接着上面例子:在表 tb_user01 中的字段username删除。
(4)修改表名字
- 修改表名
- ALTER TABLE 表名 RENAME TO 新表名;
注释:rename:重命名
案例:接着上面例子:在表 tb_user01 的表名修改为employee。
(5)删除表或者删除后再创建表
- 删除表
- DROP TABLE [IF EXISTS] 表名;
if exists:这表示如果存在则删除表,不存在也不报错
- 删除指定表,并重新创建该表
- TRUNCATE TABLE 表名;
注释:truncate:截断,缩短。当我们使用这个SQL语句的时候,删除后得到的表只有之前的表结构,之前的表中的数据全部被删除了,这张表就是一张新表。
(6)总结
1、不管是哪种SQL语句的删除情况,在删除表时,表中的全部数据也会被删除。
2、具体如何用可以看我之前的文章
- DDL-数据库操作
SHOW DATABASES;
CREATE DATABASE 数据库名;
USE 数据库名;
SELECT DATABASE();
DROP DATABASE 数据库名;
- DDL-表操作
SHOW TABLES;
CREATE TABLE 表名(字段 字段类型,字段 字段类型 ...);
DESC 表名;
SHOW CREATE TABLE 表名;
ALTER TABLE 表名 ADD/MODIFY/CHANGE/DROP/RENAME TO ...;
DROP TABLE 表名;