1. 创建数据库
1. 语法:
- CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...]
- create_specification:
- [DEFAULT] CHARACTER SET charset_name
- [DEFAULT] COLLATE collation_name
复制代码 2. 说明:
- 大写的表现关键字;
- []:是可选项;
- CHARACTER SET:指定数据库接纳的字符集;
- COLLATE:指定数据库字符集的校验规则。
2. 创建数据库案例
1. 创建名为 db1 的数据库
- 创建数据库的本质,是在/var/lib/mysql这个目录下,创建一个名为db1的文件夹(差别的配置下,这个路径可能差别):
- 说明:当我们创建数据库没有指定字符集和校验规则时,体系使用默认字符集utf8,校验规则是utf8_ general_ ci。
2. 创建一个使用utf8字符集的 db2 数据库
- create database db2 charset=utf8;
复制代码
- create database db2 character set utf8;
复制代码 3. 创建一个使用utf8字符集,并带校对规则的 db3 数据库。
- create database db3 charset=utf8 collate utf8_general_ci;
复制代码 3. 字符集和校验规则
3.1 查察字符集和校验规则
1. 什么是字符集和校验规则?
- 字符集:指定数据按照什么样的格式存入;
- 校验规则:数据按照什么样的格式读取。
2. 查察体系默认字符集以及校验规则
3. 查察数据库支持的所有字符集 show charset;
- mysql> show charset;
- +----------+---------------------------------+---------------------+--------+
- | Charset | Description | Default collation | Maxlen |
- +----------+---------------------------------+---------------------+--------+
- | big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 |
- | dec8 | DEC West European | dec8_swedish_ci | 1 |
- | cp850 | DOS West European | cp850_general_ci | 1 |
- | hp8 | HP West European | hp8_english_ci | 1 |
- | koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 |
- | latin1 | cp1252 West European | latin1_swedish_ci | 1 |
- | latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |
- | swe7 | 7bit Swedish | swe7_swedish_ci | 1 |
- | ascii | US ASCII | ascii_general_ci | 1 |
- | ujis | EUC-JP Japanese | ujis_japanese_ci | 3 |
- | sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 |
- | hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 |
- | tis620 | TIS620 Thai | tis620_thai_ci | 1 |
- | euckr | EUC-KR Korean | euckr_korean_ci | 2 |
- | koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 |
- | gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 |
- | greek | ISO 8859-7 Greek | greek_general_ci | 1 |
- | cp1250 | Windows Central European | cp1250_general_ci | 1 |
- | gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 |
- | latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 |
- | armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 |
- | utf8 | UTF-8 Unicode | utf8_general_ci | 3 |
- | ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 |
- | cp866 | DOS Russian | cp866_general_ci | 1 |
- | keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 |
- | macce | Mac Central European | macce_general_ci | 1 |
- | macroman | Mac West European | macroman_general_ci | 1 |
- | cp852 | DOS Central European | cp852_general_ci | 1 |
- | latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |
- | utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 |
- | cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
- | utf16 | UTF-16 Unicode | utf16_general_ci | 4 |
- | utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 |
- | cp1256 | Windows Arabic | cp1256_general_ci | 1 |
- | cp1257 | Windows Baltic | cp1257_general_ci | 1 |
- | utf32 | UTF-32 Unicode | utf32_general_ci | 4 |
- | binary | Binary pseudo charset | binary | 1 |
- | geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 |
- | cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 |
- | eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 |
- | gb18030 | China National Standard GB18030 | gb18030_chinese_ci | 4 |
- +----------+---------------------------------+---------------------+--------+
- 41 rows in set (0.01 sec)
复制代码 4. 查察数据库支持的所有校验规则 show collation;
5. 查察某一个详细的数据库,对应的字符集和校验规则
- 这个信息一般在配置文件db.opt中,直接cat查察即可:
3.2 验证差别校验编码的影响
1. 不区分大小写
- 创建一个数据库test1,校验规则使用utf8_ general_ ci(不区分大小写),同时建立person表,插入一些数据(表操作之后会详细介绍,这里只必要了解即可):
- 发现在不区分大小写的情况下,name为a和A的字段都被筛选出来了。
2. 区分大小写
- 创建一个数据库test2,校验规则使用utf8_ bin(区分大小写):
4. 操作数据库
4.1 查察数据库
1. 查察所有数据库 show databases
- 查察体系中所有的数据库(test1是我们之前创建的):
2. 显示创建语句
- show create databases 数据库名。也可以通过该下令,查察该数据库的字符集和校验方式(字符集和校验方式都是配套的):
- 说明:
- MySQL发起我们关键字使用大写,但是不是必须的;
- 数据库名字的反引号,是为了防止使用的数据库名刚好是关键字;
- /*!40100 default.... */这个不是解释,表现当前mysql版本大于4.01版本,就执行这句话。
3. 查察当前所使用的数据库 select database();
4.2 修改数据库
1. 语法
- ALTER DATABASE db_name [alter_spacification [,alter_spacification]...]
- alter_spacification:
- [DEFAULT] CHARACTER SET charset_name
- [DEFAULT] COLLATE collation_name
复制代码 2. 说明
- 对数据库的修改主要指的是修改数据库的字符集,校验规则。
3. 实例
- 可以发现,我们固然只改了字符集,但是校验规则也跟着改变了:
4.3 数据库删除
1. 语法
- DROP DATABASE [IF EXISTS] db_ name;
复制代码 2. 执行删除之后的结果:
- 数据库内部看不到对应的数据库;
- 对应的数据库文件夹被级联删除,内里的数据表全部被删。
注意:不要随意删除数据库。
4.4 备份和恢复
1. 备份
- mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
复制代码
- 这时,可以打开看看 mytest.sql 文件里的内容,实在是把我们整个创建数据库,建表,导入数据的语句都装载进了这个文件中。
2. 恢复
- 连接mysql,输入指令source .sql文件路径;:
3. 注意事项
- 假如备份的不是整个数据库,而是此中的一张表,怎么做?
- mysqldump -u root -p 数据库名 表名1 表名2 ... > 文件路径
复制代码
- mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径
复制代码
- 假如备份一个数据库时,没有带上-B参数,在恢复数据库时,必要先创建空数据库,然后use数据库,再使用source来还原。
5. 查察连接情况
1. 语法
2. 示例
可以告诉我们当前有哪些用户连接到我们的MySQL,假如查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后各人发现自己数据库比较慢时,可以用这个指令来查察数据库连接情况。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |