SQL语言介绍
SQL 是 Structured Query Language(结构化查询语言)的缩写。 SQL 是用来与关系数据库进行通信的。 它是关系数据库管理系统的标准语言。 SQL 语句用于执行任务,如更新数据库中的数据,或从数据库中检索数据。 一些常见的使用 SQL 的关系数据库管理系统包括 Microsoft SQL Server、MySQL、PostgreSQL、MariaDB 和 Oracle。
SQL语言分类
DDL:数据定义语言
DCL:数据控制语言
DML:数据操作语言
DQL:数据的查询语言
一、DDL:数据定义语言
1、DDL 思维导图
2、DDL创建数据库的操作
--创建数据库,指定字符集、排序规则
CREATE DATABASE mydatabase
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
--查询数据库相关信息
查看当前MySQL8服务器的默认字符集是utf8mb4
SHOW VARIABLES LIKE 'character_set_server';
-- 查看指定数据库的字符集
SELECT DEFAULT_CHARACTER_SET_NAME
FROM information_schema.SCHEMATA
WHERE SCHEMA_NAME = 'mydatabase';
-- 修改数据库的字符集
ALTER DATABASE mydatabase CHARSET utf8mb4;
-- drop 库 (默认不操作)
drop database mydatabase;
生产禁用用户drop database 的命令
mysql -u root -p
REVOKE DROP ON *.* FROM 'myuser'@'localhost';
REVOKE DROP ON *.* FROM 'myuser'@'%';
这条命令会从myuser
用户的localhost
连接权限中撤销对所有数据库的DROP
权限。
如果你想要为所有用户撤销这个权限,可以使用%
通配符代替localhost
:
完成上述操作后,用户myuser
将不能使用DROP DATABASE
语句。其他用户可能仍然有权限执行DROP DATABASE
,因此可能需要对所有相关用户进行类似的操作。
-- 查看表的字符集
SELECT CCSA.character_set_name
FROM information_schema.`TABLES` T,
information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
AND T.table_schema = 'your_database_name'
AND T.table_name = 'your_table_name';
-- 查看列的字符集
SELECT character_set_name
FROM information_schema.`COLUMNS`
WHERE table_schema = 'your_database_name'
AND table_name = 'your_table_name'
AND column_name = 'your_column_name';
3、MySQL8 数据库的字符类型
数据类型
字符类型
时间类型
二进制类型