一、DDL语句
1. 概述
DDL 是数据定义语言的缩写,简单来说,就是对数据库内部的对象进行创建、删除、修改的操作语言。它和 DML 语言的最大区别是 DML 只是对表内部数据的操作,而不涉及到表的定义、结构的修改,更不会涉及到其他对象。DDL 语句更多的被数据库管理员(DBA)所使用,一般的开发人员很少使用。
2. 关键字
DDL语句的主要关键字为create、drop及alter
3. 常用语句
1. 创建表
create table 表名(
属性1 类型 约束,
属性2 类型 约束
);
2. 删除表
drop table + 表名;//表删除
trancate table + 表名;//表中数据删除
3. 修改表中字段类型
alter table 表名 modify 字段 新类型;
4. 添加字段
alter table 表名 add column 字段 类型;
5. 删除字段
alter table 表名 drop 字段;
注意 :
表名:建议以t_ 或者 tbl_开始,可读性强。见名知意。
字段名:见名知意。
4. Mysql中的数据类型
varchar(最长255)
可变长度的字符串
比较智能,节省空间。
会根据实际的数据长度动态分配空间。
优点:节省空间
缺点:需要动态分配空间,速度慢。
char(最长255)
定长字符串
不管实际的数据长度是多少。
分配固定长度的空间去存储数据。
使用不恰当的时候,可能会导致空间的浪费。
优点:不需要动态分配空间,速度快。
缺点:使用不当可能会导致空间的浪费。
varchar和char我们应该怎么选择?
性别字段你选什么?因为性别是固定长度的字符串,所以选择char。
姓名字段你选什么?每一个人的名字长度不同,所以选择varchar。
int(最长11)
数字中的整数型。等同于java的int。
bigint
数字中的长整型。等同于java中的long。
float
单精度浮点型数据
double
双精度浮点型数据
date
短日期类型
datetime
长日期类型
clob
字符大对象
最多可以存储4G的字符串。
比如:存储一篇文章,存储一个说明。
超过255个字符的都要采用CLOB字符大对象来存储。
Character Large OBject:CLOB
blob
二进制大对象
Binary Large OBject
专门用来存储图片、声音、视频等流媒体数据。
往BLOB类型的字段上插入数据的时候,例如插入一个图片、视频等,
你需要使用IO流才行。
date和datetime两个类型的区别?
date是短日期:只包括年月日信息。
datetime是长日期:包括年月日时分秒信息。
5. 快速创建表
create table 新表 as select * from 旧表;// 将一个查询结果当做一张表新建, 这个可以完成表的快速复制, 表创建出来,同时表中的数据也存在了
二、DML语句
1. 概述
DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete),是开发人员日常使用最频繁的操作。
2. 关键字
update、delete、insert
3. 常用语句
1. 删除某一字段的数据
delete from 表名 where 条件;
2. 删除整张表的数据
delete from 表名;
3. 修改表中数据
update 表名 set 字段名1 = 值1, 字段名2 = 值2 ... where 条件;
//注意:没有条件限制会导致所有数据全部更新
4. 插入数据
insert into 表名(字段名1, 字段名2, 字段名3) values(值1, 值2, 值3);
//注意:insert语句但凡是执行成功了,那么必然会多一条记录.没有给其它字段指定值的话,默认值是NULL.