MySQL数据库的创建、修改、删除及基本操作
1.MySQL数据库的创建,语法格式如下:
CREATE DATABASE [IF NOT EXISTS] <数据库名> [[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校对规则名>];
[ ]
中的内容表示可选项。语法说明如下:
- <数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。
- IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。
- [DEFAULT] CHARACTER SET:指定数据库的字符集。指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。如果在创建数据库时不指定字符集,那么就使用系统的默认字符集,如utf8,gb2312。
- [DEFAULT] COLLATE:指定字符集的默认校对规则,如utf8_chinese_ci。
例1:创建一个名为student的数据库
create database student;
此时数据库创建成功,若在点击“运行”则出错如下:
提示不能创建“student”数据库,数据库已存在。MySQL 不允许在同一系统下创建两个相同名称的数据库。此时可加上IF NOT EXISTS语句,则不再提示错误,如下所示:
create database if not EXISTS student;
例2:创建个数据库,命名为 teacher,指定其默认字符集为 utf8,默认校对规则为utf8_general_ci(不区分大小写),输入的 SQL 语句与执行结果如下所示:
create database if not EXISTS teacher character set utf8 collate utf8_general_ci;
Mysql中utf8的校对规则 https://www.cnblogs.com/lijiong/p/15785450.html
例3:使用SHOW CREATE DATABASE 查看 teacher 数据库的定义声明,发现该数据库的指定字符集为 utf8,运行结果如下所示:
utf8和utf8mb3,utf8mb4有什么区别?
https://blog.csdn.net/BLWY_1124/article/details/126093478
2.在 mysql数据库中只能对数据库使用的字符集和校对规则进行修改,语法如下:
ALTER DATABASE [数据库名] {
[ DEFAULT ] CHARACTER SET <字符集名> |
[ DEFAULT ] COLLATE <校对规则名>}
语法格式说明:[]号内的表示可选项,{ | }表示二选一,或者2个都写。
例3:修改student数据库的字符集为latin1,校对规则为latin1_swedish_ci;
ALTER database student character set latin1 collate latin1_swedish_ci;
使用show create database student查看,此时字符集已经更改。
3.删除已创建的数据库时,可以使用 DROP DATABASE 语句。其语法格式为:
DROP DATABASE [ IF EXISTS ] <数据库名>
语法说明如下:
- <数据库名>:指定要删除的数据库名。
- IF EXISTS:用于防止当数据库不存在时发生错误。
- DROP DATABASE:删除数据库中的所有表格并同时删除数据库。使用此语句时要非常小心,以免错误删除。如果要使用 DROP DATABASE,需要获得数据库 DROP 权限。
注意:MySQL 安装后,系统会自动创建名为 information_schema 和 mysql 的两个系统数据库,系统数据库存放一些和数据库相关的信息,如果删除了这两个数据库,MySQL 将不能正常工作。
例4:删除student数据库
drop DATABASE student;
注意:使用 DROP DATABASE 命令时要非常谨慎,在执行该命令后,MySQL 不会给出任何提示确认信息。DROP DATABASE 删除数据库后,数据库中存储的所有数据表和数据也将一同被删除,而且不能恢复。因此最好在删除数据库之前先将数据库进行备份。备份数据库的方法会在教程后面进行讲解。
此时student数据库已经不存在,再次执行相同的命令,直接使用 DROP DATABASE student,系统会报错,如下所示:
如果使用IF EXISTS
从句,可以防止系统报此类错误,如下所示:
drop DATABASE if EXISTS student;
4.使用 SHOW DATABASES 语句来查看或显示当前用户权限范围以内的数据库。查看数据库的语法格式为:
SHOW DATABASES [LIKE '数据库名'];
例5:show databases; 列出当前用户可查看的所有数据库
例6:使用Like从句,查看名称类似的数据库列表。
先创建三个数据库,名字分别为 mydb、dbyour、db_db1。
show databases like '%db%';
‘’%‘’表示1个或者多个字符;
5.在 MySQL 中,USE 语句用来完成一个数据库到另一个数据库的跳转。语法:
USE <数据库名>;
在navicat中,在如下图选择数据库
在命令行中使用use 数据库名来选择;
在执行选择数据库语句时,如果出现“Database changed”提示,则表示选择数据库成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?