库的创建与管理

文章目录

    • 1.1 库的创建语法
    • 1.2 默认存在的库
    • 1.3 库的创建管理

1.1 库的创建语法

#### 库的创建语法
mysql> help create database
Name: 'CREATE DATABASE'
Description:
Syntax:
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
    [create_specification] ...

create_specification:
    [DEFAULT] CHARACTER SET [=] charset_name
  | [DEFAULT] COLLATE [=] collation_name


#### 说明
01:花括号{}里的关键字必须选一个,且只能选一个;
02:中括号[]里面的可选可不选,为了严格还是建议添加上;

1.2 默认存在的库

mysql安装好以后,有一些默认的库(这里不作介绍),mysql不同的版本,默认的库名也不同哈;

mysql> show databases; # 查看当前有mysql实例有哪些数据库,我这里才安装好mysql,没有创建任何的库,你看到的是默认的库
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

1.3 库的创建管理

#### 创建chenliang库,字符集为utf8字符集
mysql> create database if not exists chenliang character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)



#### 查看创建的chenliang库是否存在
-- 第一种方法
mysql> show databases like "chenliang";
+----------------------+
| Database (chenliang) |
+----------------------+
| chenliang            |
+----------------------+
1 row in set (0.00 sec)

-- 第二种方法
mysql> show databases like "ch%";
+----------------+
| Database (ch%) |
+----------------+
| chenliang      |
+----------------+
1 row in set (0.00 sec)

-- 第三种方法
mysql> select schema_name from information_schema.schemata where schema_name="chenliang";
+-------------+
| schema_name |
+-------------+
| chenliang   |
+-------------+
1 row in set (0.00 sec)


#### 查看创建chenliang库的语句
mysql> show create database chenliang\G
*************************** 1. row ***************************
       Database: chenliang
Create Database: CREATE DATABASE `chenliang` /*!40100 DEFAULT CHARACTER SET utf8 */
1 row in set (0.00 sec)



#### 进入chenliang库,并查看是否成功进入到chenliang库下面
mysql>use chenliang;
Database changed

mysql> select database();
+------------+
| database() |
+------------+
| chenliang  |
+------------+
1 row in set (0.00 sec)



#### 查看chenliang库下面有哪些表
-- 第一种方法
mysql> SHOW TABLES;                  
Empty set (0.01 sec)

-- 第二种方法
mysql> show tables from chenliang;
Empty set (0.00 sec)

-- 第三种方法
mysql> select
    ->  table_schema as "库名",
    ->  table_name as "表名"
    -> from
    ->  information_schema.tables
    -> where
    ->  table_schema="chenliang";
Empty set (0.00 sec)



#### 修改chenliang库的utf8字符集为gbk字符集(不要随便修改)
mysql> alter database chenliang character set gbk collate gbk_chinese_ci;
Query OK, 1 row affected (0.01 sec)

mysql> show create database chenliang\G
*************************** 1. row ***************************
       Database: chenliang
Create Database: CREATE DATABASE `chenliang` /*!40100 DEFAULT CHARACTER SET gbk */
1 row in set (0.00 sec)

		PS:特别说明
		修改了库的字符集后,不会让其库下现有表的字符集发生变化;
		但你在新创建表时不为表指定字符集,则表的字符集默认为库的字符集;


#### 修改chenliang库的gbk字符集为utf8字符集(不要随便修改)
mysql> alter database chenliang character set utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.01 sec)

mysql> show create database chenliang\G
*************************** 1. row ***************************
       Database: chenliang
Create Database: CREATE DATABASE `chenliang` /*!40100 DEFAULT CHARACTER SET utf8 */
1 row in set (0.00 sec)

		PS:特别说明
		修改了库的字符集后,不会让其库下现有表的字符集发生变化;
		但你在新创建表时不为表指定字符集,则表的字符集默认为库的字符集;


#### 删除chenliang库,并查看是否成功删除  [生产中不要随便删除哈,即使要删除,也得做备份] 
mysql> DROP DATABASE IF EXISTS chenliang;
Query OK, 0 rows affected (0.00 sec)

mysql> SHOW DATABASES LIKE "chenliang";
Empty set (0.00 sec)

		PS:特别说明
		生产中不能随便删除哈,即使要删除,也得做备份

你可能感兴趣的:(#,mysql,5.7.X)