DDL创建数据库以及数据库的增删改查
数据定义语言
Data Definition Language,数据定义语言用来定义数据库,表和列的SQL语言。
创建数据库
-- 创建数据库语法格式
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_option] ...
create_option: [DEFAULT] {
CHARACTER SET [=] charset_name
| COLLATE [=] collation_name
}
CREATE DATABASE
IF NOT EXISTS # 如果数据库不存在,则创建名为 db_name的数据库
db_name
DEFAULT
CHARACTER SET = utf8mb4 # 指定默认的字符集为 utf8mb4
COLLATE utf8mb4_general_ci; # 指定默认的排序规则为 utf8mb4_general_ci
-- 创建名为db_name的数据库
CREATE DATABASE db_name;
删除数据库
-- 删除数据库语法格式
DROP {DATABASE | SCHEMA}
[IF EXISTS]
db_name
DROP SCHEMA db_name;
修改数据库
ALTER {DATABASE | SCHEMA} [db_name]
alter_option ...
ALTER {DATABASE | SCHEMA} db_name
UPGRADE DATA DIRECTORY NAME
alter_option: {
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name
}
ALTER DATABASE db_name CHARACTER SET = utf8; # 修改数据库字符集为utf-8
查看数据库信息
SHOW CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name # 查看当前数据库详细信息
SHOW {DATABASES | SCHEMAS} # 查看全部数据库
[LIKE 'pattern' | WHERE expr]
SHOW CREATE DATABASE db_name; # 查看当前数据库详细信息
SHOW SCHEMAS; # 查看全部数据库
USE db_name; # 在命令行中切换到 db_name 数据库
SELECT DATABASE(); # 查看当前选中的数据库
SELECT SCHEMA(); # 查看当前选中的数据库
SELECT VERSION(); # 查看mysql的版本
SELECT USER(); # 查看当前用户信息
关于utf8和utf8mb4字符集的区别,以及数据库排序规则可以参考:
MySQL中的字符集和排序规则:https://dev.mysql.com/doc/refman/5.7/en/charset-mysql.html
utf8mb4字符集:https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-utf8mb4.html
参考
CREATE DATABASE语句:https://dev.mysql.com/doc/refman/5.7/en/create-database.html
DROP DATABASE语句:https://dev.mysql.com/doc/refman/5.7/en/drop-database.html
ALTER DATABASE语句:https://dev.mysql.com/doc/refman/5.7/en/alter-database.html
SHOW CREATE DATABASE语句:https://dev.mysql.com/doc/refman/5.7/en/show-create-database.html
SHOW DATABASES语句:https://dev.mysql.com/doc/refman/5.7/en/show-databases.html
查看MYSQL的信息:https://dev.mysql.com/doc/refman/5.7/en/information-functions.html
开发工具
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!