用dw做网站怎么做出下拉菜单,门户网站建设专业,物流网站后台,可信的郑州网站建设文章目录 1. 创建数据库[IF NOT EXISTS] 的使用 2. 删除库3. 数据库的编码问题查看系统默认支持的字符集查看系统默认支持的校验集只查看 database的校验集指定编码创建数据库修改字符集修改校验集验证规则对数据库的影响utf8_general_ci ——不区分大小写utf8_bin ——区分大小… 文章目录 1. 创建数据库[IF NOT EXISTS] 的使用 2. 删除库3. 数据库的编码问题查看系统默认支持的字符集查看系统默认支持的校验集只查看 database的校验集指定编码创建数据库修改字符集修改校验集验证规则对数据库的影响utf8_general_ci ——不区分大小写utf8_bin ——区分大小写 4. 修改数据库5. 查看数据库6. 数据库的备份和恢复备份恢复 7. 查看连接情况 1. 创建数据库 格式为CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] …]
create database 表示为 固定用法 db_name 表示为 数据库名称 [IF NOT EXISTS] 表示可选项 在终端1中通过 mysql -uroot -p 指令登陆数据库 再输入 show databases; 查看当前用户所能看到的数据库列表 创建终端2并输入 cd /var/lib/mysql 指令以此查看数据库的对应内容是否变化创建终端2并输入 cd /var/lib/mysql 指令以此查看数据库的对应内容是否变化 在终端1中 再次输入 create database databases1; 指令 创建 databases1数据库 在终端2中 查看发现此时多了一个databases1目录
[IF NOT EXISTS] 的使用 create database if not exists database1; 表示 当前数据库若不存在 database1则创建该数据库 表示 当前数据库 若存在database1则进行告警即数据库已经存在没有再次创建 2. 删除库 在终端1中输入 drop database database1; 表示 要删除 database1 数据库 在终端2中 再次查看则没有database1数据库存在 可若删除数据库则对应的目录也被删除了若该目录下有表存在则也会被直接删除 所以不建议随意删除数据库 总结 创建数据库 —— create database db_name(数据库名称); 本质 就是在 /var/lib/mysql 创建一个目录 删除数据库 —— drop database db_name (数据库名称); 本质就是在 /var/lib/mysql 删除一个目录 3. 数据库的编码问题
创建数据库时有两个编码集数据库的字符集 和数据库的校验集
数据库的字符集 —— 数据库未来存储数据 (数据库存数据时采用什么编码) create database db2 charsetutf8; 数据库的校验集 —— 支持数据库进行字段比较使用的编码本质是读取数据库中数据的采用的编码格式 ( 查找或匹配数据库就需要进行比较字段想要被比较两者就需要先被读出来此时两者的校验规则应该相同) create database db3 charsetuf8 collate utf8_fgenral_ci; 查看系统默认支持的字符集 输入 show variables like ‘character_set_database’; 字符集数据库 默认为 utf8
查看系统默认支持的校验集
输入 show variables like ‘collation_database’; 校验集数据库 默认为 utf8mb3_general_ci
只查看 database的校验集 输入 show variables like ‘collation_%’; 只查看 database的校验集
连接 、数据库进行常规操作、服务器 的 本身的校验规则 都是 utf8
指定编码创建数据库 当在终端1中创建 d1数据库时在终端2中的var/lib/mysql路径中就会产生对应的目录d1 打开d1目录下的db.opt文件其中包含默认系统支持的编码集合和校验集合 修改字符集 在终端1中创建数据库d2并指明数据库的字符集按照 uft8格式 在终端2中此时打开d2目录下的db.opt文件发现 字符集按照uft8格式 使用 character set utf8 与 cahrsetuft8 表示相同都可以修改 数据库的字符集 为uft8格式 修改校验集 在终端1中创建数据库d4并 使用 collate 将校验集 置为 utf8_general_ci 在终端2中打开目录d4中的db.opt文件发现 校验集按照 utf8_general_ci 格式 验证规则对数据库的影响
utf8_general_ci ——不区分大小写
使用 utf8_general_ci 校验规则是不区分大小写的 在终端1中创建数据库 test1 并指明 对应的校验集 为 utf8_general_ci 格式 在终端2中打开目录test1中的db.opt文件发现 校验集按照 utf8_general_ci 格式 输入 use test1; 即 进入test1数据库 在test1数据库中创建 一张表 person 内部成员为 name类型为 20个字节 输入 insert into person (name) values ( 字符); 即向person表中插入字符 输入 select * from person; 即查看person表中1全部数据 select 表示从表中去查 * 表示 将表中数据全部显示出来 输入 select * from person where name ‘a’; 即从person表 拿出来 name名称为 a的信息 由于test1数据库 的校验集按照utf8_general_ci 格式不区分大小写 所以当查找a信息时会取到peson表中的A和a utf8_bin ——区分大小写 在终端1中创建数据库 test2 并指明 对应的校验集 为 utf8_bin 格式 在终端2中打开目录test2中的db.opt文件发现 校验集按照 utf8_bin 格式 输入 use test2; 即使用test2数据库 在test2数据库中创建 一张表 person 内部成员为 name类型为 20个字节 输入 insert into person (name) values ( 字符); 即向person表中插入字符 a A b B 输入 select * from person where name ‘a’; 即从person表 拿出来 name名称为 a的信息 由于test2数据库 的校验集按照utf8_bin 格式不区分大小写 所以当查找a信息时只会取到peson表中的a
4. 修改数据库 输入 alter database test2 charsetgbk collate gbk_chinese_ci; 修改test2数据库的字符集为gbk 修改test2数据库的校验集为gbk_chinese_ci 在创建数据库时所设置的创建选项 输入 show create database test2; 查看创建test2数据库时相关的命令
5. 查看数据库 输入 show databases; 查看数据库 select database(); 判断当前在那个数据库里面 如当前处于 数据库d1中
6. 数据库的备份和恢复
备份 在终端1中输入 show databases; 发现 存在test1数据库 备份关键字为 mysqldump -B 表示指明哪一个数据库 在终端2中 将 test2数据库的历史上所有做过的有效操作备份起来了 备份到 test1.tql中 在终端1中删除test1数据库 在终端2中打开 var/lib/mysql 路径后发现不存在 test1目录 但是存在 test1.tql 即test1目录的备份 恢复
此时就可以通过test1.tql 恢复一个test1目录
在终端2中输入 pwd 指令查询当前路径 /var/lib/mysql 在终端1中输入 source test1.tql所在路径 即 source /var/lib/mysql/test1.tql
就可以使 test1.sql 中的历史命令 全部在新的mysql中执行一次 在终端1中输入 show databases; 即又查询到test1数据库的存在 注意事项
如果备份一个数据库时没有带上-B参数 在恢复数据库时需要先创建空数据库然后使用数据 库再使用source来还原
7. 查看连接情况 输入 show processlist; 查看连接情况
User 表示 用户 即当前用户为root db 表示数据库 即当前连接的是test1数据库 command 表示 命令