目录
一、DDL-数据库操作
二、 DDL -表操作-查询
三、 DDL -表操作-创建
四、DDL数据类型和案例
1、数值类型
2、字符串类型
3、日期类型
4、案例
五、DDL- 表操作-修改
添加字段
修改数据类型
修改字段名和字段类型
删除字段
修改表名
六、DDL-表操作-删除
删除表
删除指定表,并重新创建该表
一、DDL-数据库操作
查询所有数据库
SHOW DATABASES;
查询当前数据库
SELECT DATABASE();
假如执行了很多数据库操作,不知道在当前是哪个数据库可以使用,这个操作
创建
CREATE DATEBASE[IF NOT EXISTS] 数据库名[DEFAULT CHARSET 字符集]
[COLLATE 排序规则];
出现 Query OK即可
如果再次输入create database itcast; 会创建失败
如果想数据库已经存在则不创建,不存在则创建可以使用
create database if not exists itcast;
设置字符集
utf8 : 存储三个字节
utf8mb4 : 存储四个字节
create database itheima default charset utf8mb4;
删除
DROP DATABASE[ IF EXISTS] 数据库名;
如果删除不存在的数据库就会报错,如果不想报错,可以使用:
drop database if exists test;
使用
USE 数据库名
二、 DDL -表操作-查询
查询当前数据库所有表
SHOW TABLES;
查询表结构
DESC 表名;
查询指定表的建表语句
SHOW CREATE TABLSE 表名;
三、 DDL -表操作-创建
创建:
CREATE TABLE 表名(
字段 1 字段 1 类型[ COMMENT 字段1注释],
字段 2 字段 2 类型[ COMMENT 字段2注释],
字段 3 字段 3 类型[ COMMENT 字段3注释],
.......
字段 n 字段 n 类型[ COMMENT 字段n注释],
)[COMMENT 表注释];
注意:最后一个字段不要逗号
四、DDL数据类型和案例
1、数值类型
案例
如果想表示年龄可以用 (无符号):
age TINYINT UNSIGNED
表示学生分数可以用:
score double(4,1) /* 表示长度为四个单位,小数的长度为一个单位*/
2、字符串类型
带blob的是描述二进制数据的,带text的是描述文本数据的
char:
需要跟上参数,表示最长存储的字符长度,如 char(10),定长字符即使你使用一个字符,也会存储
存储十个字符的空间,未占用的空间会用空格进行补位,性能高。
如:性别 gender char[1]
varchar:
也要跟上参数如varchar(10),变长字符串,假如只存储一个字符,就只占用一个字符的空间,相对于char性能较低。
3、日期类型
date 和 datetime 往往用的更多
如: birthday date;
4、案例
根据需求创建表(设计合理数据类型,长度)
设计一张员工信息表,要求如下:
1.编号(纯数字)
2.员工工号 (字符串类型,长度不超过10位)
3.员工姓名(字符串类型,长度不超过10位)
4.性别(男/女,存储- -个汉字)
5. 年龄(正常人年龄,不可能存储负数)
6. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)
7.入职时间(取值年月日即可)
create table emp(
id int comment ' 编号',
workno varchar(10) comment ' 工号 ',
name varchar(10) comment ' 姓名',
gender char(1) comment '性别',
age tinyint unsigned comment ' 年龄',
idcard char(18) comment '身份证号',
entrydate datetime comment '入职时间'
)comment '员工表';
输入desc emp;
五、DDL- 表操作-修改
添加字段
ALTEER TABLE 字段ADD 字段名 类型(长度) [COMMENT 注释] [约束]
为emp增加一个新的字段"昵称"为 nickname ,类型为varchar(10)
alter table emp add nickname varchar(20) comment '昵称';
修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT注释] [约束];
案例:将emp表中的nickname 改为 username ,类型为varchar(30)
alter table emp change nickname username varchar(30) comment '用户名';
删除字段
ALTER TABLE 表名 DROP 字段名
案例:在emp表中删除username字段
alter table emp drop username;
修改表名
ALTET TABLE 表名 RENAME TO新表名
案例:将emp表修改为employee
alter table emp rename employee;
六、DDL-表操作-删除
删除表
DROP TABLE[IF EXISTS] 表名
删除指定表,并重新创建该表
TRUNCATE TABLE表名
可以帮助我们清空表中的数据