MySQL从零开始 2-关于 '库' 的那点事

 接下来,介绍一下MySQL数据库的几个入门级操作。
我们在使用MySQL的时候,是围绕着数据库(database)这一独立单元进行操作的,所以有关于库的操作方法我们必须掌握。

1. 创建库

 接下来,介绍一下MySQL数据库的几个入门级操作。
创建库的语法很简单:

-- 创建一个名为 databaseName 的数据库字符集为charsetName,校验规则为collationName的数据库
-- [if not exists]:意思为 如果不存在再进行创建。为可选项
create [if not exists] database databaseName [character set charsetName] [collate collationName];

 接下来,介绍一下MySQL数据库的几个入门级操作。
如果在创建语句里不进行字符集和校验规则的设定,系统自动默认字符集为[utf8],校验规则为[utf8_general_ci]。关于字符集和校验规则下一节会进行详细解释。

 接下来,介绍一下MySQL数据库的几个入门级操作。
创建一个字符集,不指定字符集和校验规则(使用默认字符集和校验规则):

create database t1;

P1

 接下来,介绍一下MySQL数据库的几个入门级操作。
因为使用系统默认校验规则,所以不进行显示。

 接下来,介绍一下MySQL数据库的几个入门级操作。
创建一个使用utf8字符集的t1数据库:

create database t2 character set utf8;

P2

 接下来,介绍一下MySQL数据库的几个入门级操作。
创建一个使用utf8字符集和utf8_bin校验规则的t3数据库:

create database t3 character set utf8 collate utf8_bin;

P3

2. 字符集和校验规则

 接下来,介绍一下MySQL数据库的几个入门级操作。
字符集决定该数据库使用何种编码格式,一般在创建库的时候就进行设定。

扫描二维码关注公众号,回复: 1560532 查看本文章
create database databaseName1 character set charName1;
-- 一般简写为此格式
create database databaseName2 charset=charName2;

 接下来,介绍一下MySQL数据库的几个入门级操作。
字符集默认为utf8。

 接下来,介绍一下MySQL数据库的几个入门级操作。
查看MySQL中提供的字符集与数据库语句如下:

-- 查看字符集
show charset;

-- 查看校验规则
show collation; 

 接下来,介绍一下MySQL数据库的几个入门级操作。
这里给出MySQL中提供的字符集,由于校验规则篇幅过长,就不进行展示了,大家自行查看了解。

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 |
| cp1251 | Windows Cyrillic | cp1251_general_ci | 1 |
| cp1256 | Windows Arabic | cp1256_general_ci | 1 |
| cp1257 | Windows Baltic | cp1257_general_ci | 1 |
| 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 |
+----------+-----------------------------+---------------------+--------+
36 rows in set (0.00 sec)

 接下来,介绍一下MySQL数据库的几个入门级操作。
校验规则决定

  • 库内表中元素的排序规则
  • 表中元素的校验规则

 接下来,介绍一下MySQL数据库的几个入门级操作。
例如utf8_general_ci校验规则的库内,进行元素检索时是不区分元素大小的。例如搜索字符 ‘a’,结果会出现字符 ‘a’,’A’。而与之对应的utf8_bin校验规则进行检索的时候就会区分大小写。

 接下来,介绍一下MySQL数据库的几个入门级操作。
如果表没有指定字符集和校验规则会以数据库的为准,数据库也没,就以MySQL配置文件(C:\ProgramData\MySQL\MySQL Server 5.7\my.ini)为准。

 接下来,介绍一下MySQL数据库的几个入门级操作。
建议创建数据库的时候指定字符集合和校验规则,因为数据库的配置文件可能被修改,那么数据库的字符集和校验信息就有可能不一样了。

3. 操纵数据库

 接下来,介绍一下MySQL数据库的几个入门级操作。
操纵数据库的SQL语句属于DML(数据库操纵语句)。

3.1 查看数据库

show databases;

3.2 显示数据库创建信息

show create database databaseName;

3.3 数据库删除

drop database databaseName;

 接下来,介绍一下MySQL数据库的几个入门级操作。
当执行删除语句后,数据库内部将看不到对应的数据库;对应的数据库文件夹被级联删除,库里面的数据表全部被删。

 接下来,介绍一下MySQL数据库的几个入门级操作。
注意:不要随意删除数据库。

3.4 查看数据库当前连接情况

 接下来,介绍一下MySQL数据库的几个入门级操作。
因为数据库可以由其他用户远程登陆的,为了防止陌生用户登陆进行恶意操作,我们应该掌握以下语句:

-- 查看连接情况
show processlist;
-- 下线指定ID号用户
kill idNum;

 接下来,介绍一下MySQL数据库的几个入门级操作。
以上四点使用使用结果如下:

运行结果

3.5 修改库

 接下来,介绍一下MySQL数据库的几个入门级操作。
我们对已经建好的库可以进行修改操作,修改的对象一般为字符集和校验规则。

-- 将指定数据库的字符集和校验规则进行修改
alter database databaseName charset=newCharset collate newCollation;

3.6 备份与还原

 接下来,介绍一下MySQL数据库的几个入门级操作。
由于数据库的删除是高危操作,所以我们一定要在删除前做好库的备份。

 接下来,介绍一下MySQL数据库的几个入门级操作。
备份操作是在MySQL外面的命令行中进行操作,Linux在bash命令行中,Windows在cmd命令行中。

-- 1. 备份,只进行库中表的备份,不备份数据库的创建,所以还原的时候得手动建库然后还原
mysqldump -u -root -p databasename > path

-- 2. 带创建数据库的备份
mysqldump -u root -p -B databasename > path

-- 3. 备份数据库中的一张表
mysqldump -u root -p databasename tablename(多个table以空格为分格) > path;

 接下来,介绍一下MySQL数据库的几个入门级操作。
数据库备份还原操作是在MySQL中进行的。

-- 1/2. 还原数据库
-- 方法1备份,就要手动建库,use之后进行还原
-- 方法2备份,直接还原操作即可
source path;

-- 还原备份的表,在use数据库之后操作
source path;

猜你喜欢

转载自blog.csdn.net/weixin_40739833/article/details/80522556