一、SQL
1. 简介
SQL (Structured Query Language)结构化查询语言;
它是一种数据库查询和程序设计语言,同时也是目前使用最广泛的关系型数据库操作语言。
2. 分类
2.1 DQL(Data Query Language) 数据查询语言
DQL主要用于数据的查询,其基本结构是使用SELECT子句,FROM子句和WHERE子句的组合来查询一条或多条数据。
-
select
-
from
-
where
-
order by
-
having
2.2 DML(Data Manipulation Language) 数据操作语言
DML主要用于对数据 增加、修改和删除的操作。 主要包括:
-
INSERT: 增加数据
-
UPDATE: 修改数据
-
DELETE: 删除数据
2.4 DDL(Data Definition Language) 数据定义语言
DDL主要用针对是数据库对象(数据库、表、索引、视图)进行创建, 修改和删除操作。 主要包括:
-
CREATE: 创建
-
ALTER: 修改
-
DROP: 删除
2.5 DCL(Data Control Language) 数据控制语言
DCL用来授予或回收访问数据库的权限。
主要包括:
-
GRANT: 授予用户权限
-
REVOKE: 回收授予的权限 。
2.6 TCL(Transaction Control Language) 事务控制语言
TCL用于数据库的事务管理。
主要包括:
-
START TRANSACTION: 开启事务
-
COMMIT: 提交事务
-
ROLLBACK: 回滚事务
注意:
数据操纵语言DML(insert、update、delete)针对表中的数据 ;
而数据定义语言DDL(create、alter、drop)针对数据库对象,比如数据库database、表table、索引index、视图view、存储过程procedure;
二、DDL操作
1.DDL 操作数据库
例:
-- 查看所有的数据库 show databases; -- 创建数据库 create database db_test; -- 选择数据库 use bjsxt01; -- 删除数据库 drop database db_test;
2.DDL 操作数据库表
2.1 MySQL中常见的数据类型
常见:类型 | 描述 |
---|---|
int | 整型 |
double | 浮点型 |
varchar | 字符串型 |
date | 日期类型,格式为:yyyy-MM-dd |
详细:
整数类型:
整数类型 | 大小 | 表数范围(有符号) | 表数范围(无符号) | 作用 |
---|---|---|---|---|
TINYINT | 1字节 | (-128,127) | (0,255) | 小整数值 |
SMALLINT | 2字节 | (-32768,32767) | (0,65535) | 大整数值 |
MEDIUMINT | 3字节 | (-8388608,8388607) | (0,16777215) | 大整数值 |
INT | 4字节 | (-214748364,2147483647) | (0,4294967295) | 大整数值 |
BIGINT | 8字节 | (-9233372036854775808,9223372036854775807) | (0,18446744073709551615) | 极大整数值 |
浮点类型:
浮点数类型 | 大小 | 作用 |
---|---|---|
FLOAT(m,d) | 4字节 | 单精度浮点数值, m总个数,d小数位 |
DOUBLE(m,d) | 8字节 | 双精度浮点数值, m总个数,d小数位 |
注意事项: int类型会自动扩充,浮点数类型的宽度不会自动扩充,使用时需要指定长度。
如:score double(4,1) 总体长度是4 精度为1位。
字符类型:
字符串类型 | 大小 | 描述 |
---|---|---|
CHAR(M) | 0~255字符 | 允许长度0~M个字符的定长字符串 |
VARCHAR(M) | 0~65535字符 | 允许长度0~M个字符的变长字符串 |
TINYTEXT | 0~255字节 | 短文本数据 |
TEXT | 0~65535字节 | 长文本数据 |
MEDIUMTEXT | 0~16777215字节 | 中等长度文本数据 |
LONGTEXT | 0~4294967295字节 | 极大文本数据 |
BLOB(M) | 最大65K | 以二进制存储图片,文件等数据 |
char长度固定, 即每条数据占用等长字节空间;适合用在身份证号码、手机号码等定长。
varchar可变长度,可以设置最大长度, VARCHAR类型能够根据字符串的实际长度来动态改变所占字节的大小,
所以在不能明确该字段具体需要多少字符时推荐使用VARCHAR类型,这样可以大大地节约磁盘空间、提高存储效率。
CHAR和VARCHAR表示的是字符的个数,而不是字节的个数。
text不设置长度, 当不知道属性的最大长度时,适合用text。
按照查询速度: char最快, varchar次之,text最慢。
日期类型:
类型 | 格式 | 取值范围 |
---|---|---|
TIME | ‘HH:MM:SS’ | (‘-838:59:59’, ‘838:59:59’) |
DATE | ‘YYYY-MM-DD’ | (‘1000-01-01’, ‘9999-12-31’) |
YEAR | YYYY | (1901, 2155), 0000 |
DATETIME | ‘YYYY-MM-DD HH:MM:SS’ | (‘1000-01-01 00:00:00’, ‘9999-12-31 23:59:59’) |
TIMESTAMP | ‘YYYY-MM-DD HH:MM:SS’ | (‘1970-01-01 00:00:01’ UTC, ‘2038-01-19 03:14:07’ UTC) |
标签:01,字节,MM,数据库,MySQL,类型,数据 From: https://www.cnblogs.com/giaogiaoyang/p/17677968.html