[TOC] ## 数据库操作主要包括 #### 1、创建数据库 ( `CREATE DATABASE` ) #### 2、查看数据库 ( `SHOW DATABASES` ) #### 3、修改数据库 ( `ALTER DATABASE ` ) #### 4、删除数据库 (` DROP DATABASE`) * * * * * > <font color="ForestGreen">数据库操作是所有MySQL操作的起点; 数据库与数据表的关系,可以理解为目录与文件; 操作不局限于上述语句,上面四条语句最常用。</font> * * * * * #### 一、创建数据库 ##### 1、语法: `CREATE DATABASE IF NOT EXISTS 数据库名称 DEFAULT CHARSET 默认编码集 COLLATE 校对规则;` ##### 2、语法解释: * `IF NOT EXISTS`:如果该数据库不存在则创建,防止创建错误; * ` DEFAULT CHARSET`:默认编码集通常选择utf8,其它编码集不推荐,ThinkPHP也推荐默认为utf8编码集; * ` COLLATE`:校对规则就是默认的排序方式,这与默认编码集相对应,如果设置了默认编码集为utf8,这个选项可以省略,直接用默认值:utf8_general_ci。 ##### 3、实例: 任务:创建员工数据库 `CREATE DATABASE IF NOT EXISTS staff DEFAULT CHARSET utf8 COLLATE utf8_general_ci;` 因为设置了默认编码集,可以省略校对规则:COLLATE,语句可简写为: `CREATE DATABASE IF NOT EXISTS staff DEFAULT CHARSET utf8;` #### 4、总结: 以后工作中,推荐用如下语法创建: `CREATE DATABASE IF NOT EXISTS 数据库名称 DEFAULT CHARSET utf8;` #### 5、运行结果: ![](https://box.kancloud.cn/fb0e1bf4cdb467215e4c8147b1286ea4_1109x810.png) * * * * * ### 二、查看数据库 #### 1、语法: `SHOW DATABASES;` #### 2、语法解释: * 服务器上通常会有很多数据库,因此,这里使用复数。 #### 3、实例: 任务:查看当前服务器有多少个数据库 `SHOW DATABASES;` #### 4、运行结果: ![](https://box.kancloud.cn/429d00bdaa35d5cafe94a4485ee5b619_1109x810.png) * * * * * ### 三、修改数据库 #### 1、语法: `ALTER DATABASE 数据库名 修改项目;` #### 2、语法解释: >[info]* 数据库创建成功后,可修改项主要是默认编码集和校对规则,其它不必修改 >* 如果原数据库编码集不是utf8,可用该语句修改成为utf8; >* 如果校对规则不是utf8-general-ci,也可用该语句进行修改。 #### 3、实例: 任务: 将当前数据库的默认字符编码集改为utf8,校对规则修改为utf8-general-ci 1、修改编码和核对规则: `ALTER DATABASE staff CHARACTER SET utf8 COLLATE utf8_general_ci;` 2、查看字符编码集 `SHOW CHARACTER SET;` 3、查看校对规则 `SHOW COLLATION;` #### 4、运行结果:: ![](https://box.kancloud.cn/89bb48e26b64266f998650f2e3818d76_1103x797.png) ### 四、删除数据库 #### 1、语法: `DROP DATABASE IF EXISTS 数据库名;` #### 2、语法解释: >[success]* 删除数据库是一项非常危险的操作,一旦删除无法恢复; >* `IF EXISTS`:可以防止出现删除不存在数据库的错误提示; >* 数据库删除后,该库中所有表,一并删除不可恢复。 #### 3、实例: 任务:删除刚才创建的员工数据库staff 语句: `DROP DATABASE IF EXISTS staff;` #### 4、运行结果: ![](https://box.kancloud.cn/0b2f54fcd58284b0b92d64a70245aae4_1076x775.png)