Day02 由浅入深详细讲解DDL数据库操作

SQL

1、SQL通用语法
  • SQL语法可以单行或多行书写,以分号 (;)结尾
  • SQL语句可以使用空格 / 缩进来增加语句的可读性
  • MySQL数据库的SQL语句是不区分大小写,关键字建议使用大写
  • 注释:
    • 单行注释:--注释内容或用#注释内容(MySQL特有)
    • 多行注释:/注释内容*/
2、SQL分类
分类 说明
DDL 数据定义语言,用来定义数据库对象(数据库,表,字段)
DML 数据操作语言,用来对数据库表中的数据进行增、删、改
DQL 数据查询语言,用来查询数据库中表的记录
DCL 数据控制语言,用来创建数据库用户、控制数据库的访问权限

Day02 DDL

DDL - 数据库操作
01 查询

a.查询所有的数据库

SHOW DATABASES

b. 查询当前数据库

SELECT DATABASE()
02 创建
CREATE DATABASE 数据库名;
CREATE DATABASE[IF NOT EXISTS] 数据库名 [DEFAULT CHAESET 字符集][COLLATE 排序规则];
03 删除
DROF DATABASE [IF EXISTS]数据库名;
04 使用

切换到具体的数据库

USE 数据库名;
DDL - 表操作
01 DDL - 表操作 - 查询
  • 查询当前数据库所有表
SHOW TABLE;
  • 查询表的结构
DESC 表名;
  • 查询指定表的建表语句
show CREATE TABLE 表名;
02 DDL - 表操作 - 创建
CREATE TABLE 表名(
		字段1 字段1类型[COMMENT 字段1注释],
    	字段2 字段2类型[COMMENT 字段2注释],
    	字段3 字段3类型[COMMENT 字段3注释],
    	...
    
    	字段n 字段类型[COMMENT 字段n注释]       #最后一个字段后面是不添加逗号的
)[COMMENT 表注释];

例如:

create table user(
	user_id int comment '用户id',
	age int comment "年龄",
	name varchar(50) comment "姓名",
	gender varchar(2) comment "性别"
	
)comment "用户信息表";
02 DDL - 表操作 - 数据类型

在MySQL中,数据类型用于定义表中的列,每个列都有一个特定的数据类型,用于存储特定类型的数据。MySQL的数据类型,包括数值型日期型字符串型二进制型其他类型

一、数值型

MySQL支持多种数值型数据类型,包括整数型小数型布尔型

整数型

MySQL支持多种整数型数据类型,包括TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT。

TINYINT:1字节,取值范围为-128到127或0到255。

使用方法:例如:age TINYINT UNSIGNED 表示无符号的数据类型取值范围为0~255

SMALLINT:2字节,取值范围为-32768到32767或0到65535。

MEDIUMINT:3字节,取值范围为-8388608到8388607或0到16777215。

INT:4字节,取值范围为-2147483648到2147483647或0到4294967295。

BIGINT:8字节,取值范围为-9223372036854775808到9223372036854775807或0到18446744073709551615。

小数型

MySQL支持多种小数型数据类型,包括FLOAT、DOUBLE和DECIMAL。

FLOAT:4字节,单精度浮点数,精度为7位。

DOUBLE:8字节,双精度浮点数,精度为15位。

使用double需要指定两个参数(第一个参数代表double这个数据类型的整个长度,第二个参数代表允许出现几位小数)例如:score double(4,1) 总长度为4,小数位为1

DECIMAL:可变长度,用于存储精确的小数,精度和数据长度可以自定义。

依赖于M(精度) 和D(标度)的值。例如:123.45 精度(整个数值的长度)为:5   ,标度(小数位的长度)为:2

布尔型

MySQL支持布尔型数据类型,即BOOLEAN或BOOL。它只占用1位,取值为TRUE或FALSE。

二、日期型

MySQL支持多种日期型数据类型,包括DATE、TIME、DATETIME、TIMESTAMP和YEAR。

DATE:用于存储日期,格式为YYYY-MM-DD。

TIME:用于存储时间,格式为HH:MM:SS。

YEAR:用于存储年份,格式为YYYY。

DATETIME:用于存储日期时间,格式为YYYY-MM-DD HH:MM:SS。

TIMESTAMP:用于存储时间戳,格式为YYYY-MM-DD HH:MM:SS。

(1970-01-01 00:00:01 至 2038 - 01-19 03:14:07)

三、字符串型

MySQL支持多种字符串型数据类型,包括CHAR、VARCHAR、TEXT、BLOB和ENUM。

CHAR和VARCHAR

CHAR和VARCHAR都用于存储字符串,但它们的存储方式不同。CHAR是一种固定长度的字符串类型,VARCHAR是一种可变长度的字符串类型。

CHAR:用于存储固定长度的字符串,长度为0到255个字符。 性能高

VARCHAR:用于存储可变长度的字符串,长度为0到65535个字符。 性能较差

TEXT和BLOB

TEXT和BLOB用于存储大量的文本或二进制数据。

TEXT:用于存储大量的文本数据,最大长度为65535个字符。

BLOB:用于存储大量的二进制数据,最大长度为65535个字节。

ENUM

ENUM用于存储枚举类型的数据,如性别、状态等。

四、二进制型

MySQL支持多种二进制型数据类型,包括BIT、BINARY和VARBINARY。

BIT:用于存储比特位,长度为1到64个比特位。

BINARY:用于存储固定长度的二进制数据,长度为0到255个字节。

VARBINARY:用于存储可变长度的二进制数据,长度为0到65535个字节。

五、其他类型

MySQL还支持多种其他类型的数据,包括SET、JSON和Geometry。

SET:用于存储一组可选值,最多可以有64个选项。

JSON:用于存储JSON格式的数据。

Geometry:用于存储几何类型的数据,如点、线、面等。

03 DDL - 表操作 - 修改
01 添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度) COMMENT ;
02 修改字段
ALTER TABLE 表名 旧的字段名 新的字段名 类型(长度) COMMENT ;
03 删除字段
ALTER TABLE 表名 DROP 字段名;
04 修改表名
ALTER TABLE 表名 RENAME TO 新表名;
04 DDL - 表操作 - 删除
01 删除表
DROP TABLE IF EXISTS 表名
02 删除指定表,并重新创建该表
TRUNCATE TABLE 表名;
02 修改字段
ALTER TABLE 表名 旧的字段名 新的字段名 类型(长度) COMMENT ;
03 删除字段
ALTER TABLE 表名 DROP 字段名;
04 修改表名
ALTER TABLE 表名 RENAME TO 新表名;
04 DDL - 表操作 - 删除
01 删除表
DROP TABLE IF EXISTS 表名
02 删除指定表,并重新创建该表
TRUNCATE TABLE 表名;

猜你喜欢

转载自blog.csdn.net/Sunny_Boy0518/article/details/132890494