数据库造神计划第二天---数据库基础操作
🔥个人主页:寻星探路
🎬作者简介:Java研发方向学习者
📖个人专栏:《从青铜到王者,就差这讲数据结构!!!》、 《JAVA(SE)----如此简单!!!》、《数据库那些事!!!》
⭐️人生格言:没有人生来就会编程,但我生来倔强!!!
目录
一、库的操作
1、查看数据库
2、创建数据库
2.1语法
2.2示例
2.2.1创建⼀个名为test+班级号的数据库
2.2.2自定义⼀个数据库名,如果数据库不存则创建
2.2.3重新运行上面的语句观察现象
2.2.4查看警告信息
3、字符集编码和校验(排序)规则
3.1查看数据库支持的字符集编码
3.2查看数据库支持的排序规则
3.3不同的字串集与排序规则对数据库的影响
3.4查看系统默认字符集和排序规则
3.5创建数据库时指定字符集和检验规则
4、查看创建语句
4.1语法
4.2示例
5、修改数据库
5.1语法
5.2示例
6、删除数据库
6.1语法
6.2示例
6.3注意事项
一、库的操作
1、查看数据库
show databases;
#注:大小写不敏感
2、创建数据库
2.1语法
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_option] ...create_option: [DEFAULT] {CHARACTER SET [=] charset_name| COLLATE [=] collation_name| ENCRYPTION [=] {'Y' | 'N'}}
2.2示例
2.2.1创建⼀个名为test+班级号的数据库
mysql> create database test001;Query OK, 1 row affected (0.01 sec)
2.2.2自定义⼀个数据库名,如果数据库不存则创建
mysql> create database if not exists testdb;Query OK, 1 row affected (0.01 sec)
2.2.3重新运行上面的语句观察现象
mysql> create database if not exists testdb;Query OK, 1 row affected, 1 warning (0.01 sec) # 这⾥有⼀个警告信息
2.2.4查看警告信息
mysql> show warnings;+-------+------+-------------------------------------------------+| Level | Code | Message |+-------+------+-------------------------------------------------+| Note | 1007 | Can 't create database 'testdb'; database exists| +-------+------+-------------------------------------------------+1 row in set (0.00 sec)# 提⽰名为testdb的数据库已存在
数据库创建成功后,会在数据目录下生成⼀个与数据库同名的目录,用于保存数据库中所有的数据
3、字符集编码和校验(排序)规则
3.1查看数据库支持的字符集编码
show charset;
MySQL8.0默认的字符集编码是utf8mb4 ,MySQL5.7默认的字符集是latin1
3.2查看数据库支持的排序规则
show collation;
MySQL8.0默认的排序规则是utf8mb4_0900_ai_ci ,MySQL5.7默认排序规则是utf8mb4_general_ci
3.3不同的字串集与排序规则对数据库的影响
(1)utf8mb4_0900_ai_ci 是MySQL8.0引入的新规则,在老版本中不能识别
(2)utf8mb4 编码是对 Unicode 字符集的⼀种实现,用1到4个字节表示⼀个字符,可以表示世界上几乎所有的字符,而且更节少空间
(3)0900 是基于UCA9.0.0算法,UCA是UnicodeCollationAlgorithm的缩写
(4)ai是Accent-insensitive的缩写,表示口声不敏感
(5)ci是Case-insensitive的缩写表示大小写不敏感
(6)as是Accent-sensitive的缩写,表示口声敏感
(7)cs是Case-sensitive的缩写,表示大小写敏感
(8)bin表示⼆进制
3.4查看系统默认字符集和排序规则
# 查看系统默认字符集
mysql> show variables like '%character%';+--------------------------+---------------------------------------------------------+| Variable_name | Value |+--------------------------+---------------------------------------------------------+
| character_set_client | utf8mb4 || character_set_connection | utf8mb4 || character_set_database | utf8mb4 || character_set_filesystem | binary || character_set_results | utf8mb4|| character_set_server | utf8mb4|| character_set_system | utf8mb3|| character_sets_dir | D:\Program Files\MySQL\MySQL Server
8.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set, 1 warning (0.00 sec)# 查看系统默认排序规则
mysql> show variables like '%collation%';+-------------------------------+--------------------+| Variable_name | Value |+-------------------------------+--------------------+| collation_connection | utf8mb4_0900_ai_ci || collation_database | utf8mb4_0900_ai_ci || collation_server | utf8mb4_0900_ai_ci || default_collation_for_utf8mb4 | utf8mb4_0900_ai_ci |+-------------------------------+--------------------+4 rows in set, 1 warning (0.00 sec)
3.5创建数据库时指定字符集和检验规则
创建⼀个库名为班级名,字符编码集为utf8mb4 ,排序规则为 utf8mb4_0900_ai_ci 的数据库,数据库不存在时则创建
create database if not exists java01 character set utf8mb4 collate utf8mb4_0900_ai_ci;
数据库创建成功之后,在数据目录下会生成⼀个与数据库同名的目录,数据库中的所有数据都保存在这个目录下
4、查看创建语句
4.1语法
show create database db_name
4.2示例
mysql> show create database java01;
+----------+---------------------------------------------+
| Database | Create Database
|
+----------+----------------------------------------------
| java01 | CREATE DATABASE `java01` /*!40100 DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+----------------------------------------------
1 row in set (0.01 sec)
(1)数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
(2)/*!40100default.... */ 和/*!80016 DEFAULT...*/ 这个不是注释,表示当前mysql版本大于4.01和 8.0.16时,分别执行对应的语句
5、修改数据库
5.1语法
ALTER {DATABASE | SCHEMA} [db_name]alter_option ...alter_option: {[DEFAULT] CHARACTER SET [=] charset_name| [DEFAULT] COLLATE [=] collation_name| [DEFAULT] ENCRYPTION [=] {'Y' | 'N'}| READ ONLY [=] {DEFAULT | 0 | 1}
}
对数据库的修改主要是修改数据库的字符集,校验规则
5.2示例
将test+班级名的数据库字符集改成gbk
mysql> alter database test001 characterQuery OK, 1 row affected (0.01 sec)mysql> show create database +----------+---------------------------------| Database | Create Database +----------+---------------------------------| java01 | CREATE DATABASE `test001` /*!40100 DEFAULT CHARACTER SET gbk */ /*!80016 DEFAULT ENCRYPTION='N' */ |+----------+---------------------------------1 row in set (0.00 sec)
6、删除数据库
6.1语法
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
6.2示例
mysql> drop database testdb;Query OK, 0 rows affected (0.04 sec)
6.3注意事项
(1)删除数据库是⼀个危险操作,不要随意删除数据库
(2)删除数据库之后,数据库对应的目录及目录中的所有文件也会被删除
(3)删除数据库之后,使用showdatabases;语句查看不到对应的数据库