文章目录
- 1.创建数据库
- 1.1字符集和校验规则
- 1.查看系统默认字符集以及校验规则
- 2.查看数据库支持的字符集以及校验规则
- 1.2校验规则对数据库的影响
- 1.创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]
- 2.创建一个数据库,校验规则使用utf8_ bin[区分大小写]
- 3.排序结果的不同
- 2.操纵数据库
- 2.1查看数据库
- 2.2显示创建语句
- 2.3数据库删除
- 2.4修改数据库
- 3.备份和恢复
- 3.1备份
- 3.2还原
- 4.查看连接情况
- 5.拓展
1.创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
说明:
大写的表示关键字
[ ] 是可选项
CHARACTER SET: 指定数据库采用的字符集
COLLATE: 指定数据库字符集的校验规则
指令语言
show databases;
create database basename;
drop database basename;
理解:
- 创建数据库:create database db_name; 本质就是在 /var/lib/mysql 创建一个目录
- 删除数据库:drop database db name; 本质就是删除目录
- 在/var/lib/mysql下mkdir/rm -rf创建删除目录【强烈不推荐】,mysql下show databases;会有同样效果
if not exists 选项会判断是否已存在该数据库并警告
创建数据库的时候,有两个编码集
- 数据库编码集 —数据库未来存储数据
- 数据库校验集 —支持数据库,进行字段比较使用的编码,本质也是一种读取数据库中数据的采用的编码格式
- 数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的!
当我们创建数据库没有指定字符集和校验规则时
系统使用默认字符集:utf8,校验规则是:utf8_general_ ci
创建一个使用utf8字符集的 db 数据库
create database db charset=utf8;
语句2:也可以
创建一个使用utf字符集,并带校对规则的 db 数据库。
create database db charset=utf8 collate utf8_general_ci;
1.1字符集和校验规则
1.查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
2.查看数据库支持的字符集以及校验规则
字符集主要是控制用什么语言。比如utf8就可以使用中文。
数据库下清屏操作
system clear
1.2校验规则对数据库的影响
1.创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]
2.创建一个数据库,校验规则使用utf8_ bin[区分大小写]
3.排序结果的不同
test1
test2
2.操纵数据库
2.1查看数据库
show databases;
2.2显示创建语句
显示已存在的数据库
- MySQL 建议关键字使用大写,但是不是必须的。
- 数据库名字的反引号
- /*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本时执行这句话
显示当前在哪个数据库里
2.3数据库删除
DROP DATABASE [IF EXISTS] db_ name;
删除之后的结果:
- 数据库内部看不到对应的数据库
- 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
- 不要随意删除数据库
2.4修改数据库
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
对数据库的修改主要指的是修改数据库的字符集,校验规则
将 mytest 数据库字符集改成 gbk
3.备份和恢复
3.1备份
语法:
mysqldump -P3306 -u root -p密码 -B 数据库名 > 数据库备份存储的文件路径
1.备份一个表
mysqldump -u root -p 数据库名 表名1 > D:/mytest.sql
2.备份多个表
mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql
3.备份一个数据库
mysqldump -P3306 -u root -p123456 -B mytest c
mysqldump -P3306 -u root -p -B mytest > ./mytest.sql
4.备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
mytest.sql 文件里的内容,是整个创建数据库,建表,导入数据的语句都装载这个文件中。
-B参数
-B参数意味着在备份时 把create创建语句也存入了备份文件。
如果备份时不带-B参数,在恢复数据库时,需要先创建空数据库,然后use数据库,再使用source来还原。
3.2还原
source D:/mytest.sql;
4.查看连接情况
show processlist;
mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+
| 2 | root | localhost | test | Sleep | 1386 | | NULL |
| 3 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。
5.拓展
MySQL 不支持直接修改数据库的名字。
在MySQL中,直接“重命名”一个数据库(即更改其名称)并不是一个直接的操作。但是,你可以通过以下步骤来间接地实现这个目的:
创建一个新的数据库:使用你想要的新名称来创建它。
sql
CREATE DATABASE new_database_name;
导出旧数据库的数据:使用mysqldump工具或其他数据库导出工具来导出旧数据库的数据和结构。
bash
mysqldump -u [username] -p old_database_name > old_database_name.sql
在这里,[username]是你的MySQL用户名。当你运行这个命令时,系统会提示你输入密码。
3. 导入数据到新数据库:使用mysql命令行工具或其他数据库导入工具来将导出的数据导入到新的数据库中。
bash
mysql -u [username] -p new_database_name < old_database_name.sql
同样,系统会提示你输入密码。
4. (可选)删除旧数据库:如果你确定不再需要旧数据库,可以删除它。
sql
DROP DATABASE old_database_name;
(可选)更新任何引用旧数据库名的应用程序或脚本:确保你的应用程序、脚本或其他任何引用旧数据库名的地方都已更新为新的数据库名。
测试:确保新数据库正常工作,并且所有的数据和结构都已正确迁移。
注意:在执行这些操作之前,强烈建议备份你的数据库,以防万一发生任何错误或数据丢失。