DDL
DDL(Data Definition Language):数据定义语言,它是用来定义,主要负责管理数据对象的。
其中包括数据库和表格的多种操作
- create (创建)
- drop (删除)
- alter (修改)
- show (查看)
数据库命令
查看数据库的命令
show databases; #查询所以的数据库
1,创建数据库
create database 数据库名;
2,重复创建同名数据库会报错,所以一般都使用:
create database if not exists 数据库名;
如果不存在"数据库名"就创建数据库,存在则跳过这条语句.
create database if not exists 数据库名;
3,注意默认字符集在MySQL5.7版本中编码为Latin1,不支持中文,所以在5.7的版本应改为:
create database 数据库名 default charset utf8;
但是在MySQL8.0以上的版本,已经解决了这个问题,8.0以上的版本,默认是utf-8编码;
charset是字符编码,如果没有指定则数据库无法存储中文字符
4,删除数据库,一旦删除,数据将难以恢复
drop database 数据库名;
5,使用数据库(进入数据库);
use 数据库名
数据表的创建与删除
常用的表查询命令
desc 数据表
show columns from 数据表
创建表
create table if not exists 表格名程(
属性名1 属性类型 [约束...],
......
属性名n 属性类型 [约束...],
);#创建表并设置它的属性
示例:创建学生表,如果已经创建好了就忽略
create table if not exists student_tb(
s_id int, ##学号
s_name varchar(20), ##学生姓名
s_age int, ##学生年龄
s_sex varchar(4), ##性别
s_birthday date ##生日
);
属性类型
表格在创建的时候,要给每个列名指定一个属性来存储
数值类型
类型 | 字节 | 描述 |
---|---|---|
tinyint | 1字节 | 迷你整型(0~255) |
smallint | 2字节 | 小整型(0~65535) |
mediumint | 3字节 | 中等整型 |
int (integer) | 4字节 | 整型 |
bigint | 8字节 | 大整型 |
float | 4字节 | 单精度浮点型 |
double | 8字节 | 双精度浮点型 |
decimal | 自适应 | 小数类型 |
字符串类型
类型 | 描述 |
---|---|
char(长度) | 定长字符串[0-255] |
varchar(长度) | 自动缩进的字符串 |
tinyblob | 表示小型的二进制数据 |
tinytext | 小型文本 |
mediumblob | 中等大小的二进制数据 |
blob | 二进制数据 |
text | 中型文本 |
longblob | 长二进制数据 |
longtext | 长文本字符串 |
常用的时间和日期类型
数据类型 | 描述 | 格式 |
---|---|---|
date | 日期 | YYYY-MM-DD time |
time | 时间 | HH:mm:SS(24小时制) |
datatime | 日期时间 | YYYY-MM-DD HH:MM:SS |
删除表
drop table 数据表名;
修改表名
rename table 表名 to 新表名;
查询表结构
desc 表名 ; show columns from 表名 ;
修改表的结构
增加表中列
alter table [表名] add <属性列名> <属性类型> (约束);
修改表中列的数据类型
alter table [表名] modify column <属性列名> <类型> (约束);
修改表中列的名称
alter table [表名] change column <属性列名> <修改为属性列名> <类型> (约束);
删除表中列
alter table [表名] drop column 属性列名;
DML
数据操纵语言,它是用来操纵数据对象中的数据的。
其中包括数据的
- insert(插入)
- delete(删除)
- update(更新修改)
表的查询语句(DQL)
select * from 表格;
表的数据插入
1,选择需要插入的属性值
insert into 表名(
属性名1,属性名2,…,属性名n) value(
属性值1,属性值2,…,属性值n);`
2,为全部属性插入属性值,可以不用给表名指定属性名
insert into 表名 value(属性值1,属性值2,…,属性值n);
注意:这里的属性值与属性名的位置要一一对应。
3,插入多条数据
insert into 表名 values
(属性值1,属性值2,…,属性值n),
(属性值1,属性值2,…,属性值n),
(属性值1,属性值2,…,属性值n);
表中数据的更新
1,更新全部数据
update 表名 set 属性名1=属性值1,属性名2=属性值2;
2,带条件更新
update 表名 set 属性名1=属性值1,属性名2=属性值2 where 属性名=属性值;
3,多条件更新
所有条件需要同时满足用and或‘&&’,不需要同时满足用or或‘||’。
update 表名 set 属性名1=属性值1,属性名2=属性值2 where 属性名1=属性值1 &&(||) 属性名2=属 性值2;
表的数据删除
1, 全部删除
delete from 表名;
2,条件删除
delete from 表名 where 属性名=属性值;
3,总结
数据存储
- 插入数据
- 修改数据
- 删除数据
- 查询数据