数据定义语言(DDL)
用处:
- 用来定义数据库对象、库、表、列
- 删除数据库对象、库、表、列
- 修改库、表的结构
数据类型:
类型 | 表示 |
---|---|
整型 | int |
浮点型 | double |
金钱 | decimal |
固长字符串 | char(255) |
变长字符串 | varchar(65535) |
超大字符串 | text(clob) |
超大二进制 | blob |
日期 | data |
时间 | time |
时间戳 | timestamp |
对于text和blob类型的详细分类:
表示 | 储存大小 | 类型 |
---|---|---|
tinyblob | 256B | 二进制 |
blob | 64K | 二进制 |
mediublob | 16M | 二进制 |
longblob | 4G | 二进制 |
tinyclob | 256B | 字符串 |
colb | 64K | 字符串 |
mediuclob | 16M | 字符串 |
longclob | 4G | 字符串 |
注意:在数据库中需要保存一下图片、视频、MP3等数据时,就要用到二进制的类型,而大小可根据需要自己选择;类似于微博、新浪这样的网站,在存储每篇文章时,对于这样庞大的字符串,已经不是一个varchar可以满足的了,这时候就要轮到clob(text)出场了;在MySQL中,表示超大字符串要用text,而Oracle中就要用clob!
DDL对于库的操作:
-
SHOW DATABASES; //查看所有数据库
-
CREATE TABLE [IF NOT EXISTS] 数据库名[CHARSET=utf8]; //创建数据库
-
USE 数据库名称; //切换数据库
-
DROP DATABASE 数据库名; //删除数据库
DDL对于表操作:
-
DESC 表名; //查看表结构
-
CREATE TABLE 表名( 列名 列类型, 类名 列类型, ...... 列名 列类型 ) //创建一张新表
-
SHOW TABLES; //显示库中所有表
-
DROP DATABASE 数据库名; //删除数据库
-
DROP TABLE 表名; //删除表
-
ALTER TABLE 表名 ADD 列名 列类型; //增加列
-
ALTER TABLE 表名 MODIFY 列名 新类型; //修改列类型
-
ALTER TABLE 表名 DROP 列名称; //删除列
-
ALTER TABLE 表名 RENAME TO 新表名; //修改表名
-
ALTER TABLE 表名 CHANGE 列名 新列名 新类型; //修改列
数据操作语言(DML):
用处:
- 定义记录
- 增、删、改
DML之增:
-
INSERT INTO 表名 (列名,列名......) VALUES (列值,列值......); //插入记录
-
INSERT INTO 表名 VALUES (列值,列值......); //修改列
注意:如果没有给出列名,那就默认按照列的顺序,将value对应放入!
DML之改:
-
UPDATE 表名 SET 列名=列值 WHERE 条件; //按照条件修改记录
这里给出SQL语句中常用到的逻辑运算符:
意义 | 符号 |
---|---|
且 | AND |
或 | OR |
非 | NOT |
判断空 | IS NULL |
区间 | BETWEEN 数值 AND 数值 |
包含 | IN |
大小判断 | <、>、<=、>=、<> |
DML之删:
-
DELETE FROM 表名 WHERE 条件; //删除记录
注意:如果在此时不用WHEREE控制条件的话,就会将整个表删除!
数据控制语言(DCL):
这个模块可以说时SQL中最为简单的一块了,其作用就是对于用户的建立和授权!
用处:
- 创建用户
- 给用户授权
- 撤销授权
- 查看授权
DCL之创建用户:
-
CREATE USER 用户名@IP地址 INDENTIFITY by '密码'; //创建用户
DCL之给用户授权:
-
注意:这里来如果将权限的位置换成ALL,就代表给用户所有权限,包括增、删、改等!GRANT 权限1,权限2...ON 数据库.* TO 用户名@IP地址; //为用户授权
DCL之撤销授权:
-
revoke 权限1,权限2...... on 数据库.* from 用户名@IP地址; //撤销授权
DCL之查看授权:
-
show grants for 用户名@IP地址; //查看授权
DCL之删除用户:
-
drop user 用户名@IP地址; //删除用户
数据查询语言(DQL):
用处:五花八门的查询出自己想要的数据
注意:对于前端和后端的兄弟来说,这是…重点!重点!重点!重点!重点!重点!重点!重点!重点!重点!
DQL之基础查询:
-
SELECT * FROM 表名; //最为基础的查询
上面的命令,可以查询出指定表格的所有信息!
在这一此中,关于DQL我就给大家这一条语句,(因为查询这块比较重要,所有在下次会给大家详细介绍)现在的阶段只要大家能查到整张表,就很好了!
下次,会给大家带来详细的列查询、条件查询、模糊查询、排序、分组、聚合函数、分页查询!