语法:
create database [if not exists] 数据名 [选项]
例题
-- 创建数据库
mysql> create database stu;
Query OK, 1 row affected (0.06 sec)
-- 创建数据库时,如果数据库已经存在就要报错
mysql> create database stu;
# ERROR 1007 (HY000): Can't create database 'stu'; database exists
-- 在创建数据库时候,判断数据库是否存在,不存在就创建
mysql> create database if not exists stu;
Query OK, 1 row affected, 1 warning (0.00 sec)
-- 特殊字符、关键字做数据库名,使用反引号将数据库名括起来
mysql> create database `create`;
Query OK, 1 row affected (0.04 sec)
mysql> create database `%$`;
Query OK, 1 row affected (0.05 sec)
-- 创建数据库时指定存储的字符编码
mysql> create database emp charset=gbk;
Query OK, 1 row affected (0.00 sec)
# 如果不指定编码,数据库默认使用安装数据库时指定的编码
MySQL数据库的目录
数据库保存的路径在安装MySQL的时候就配置好。
也可以在my.ini配置文件中更改数据库的保存地址。(datadir="F:/wamp/PHPTutorial/MySQL/data/")
一个数据库就对应一个文件夹,在文件夹中有一个db.opt文件。在此文件中设置数据库的字符集和校对集
小结:
1、如果创建的数据库已存在,就会报错。
解决方法:创建数据库的时候判断一下数据库是否存在,如果不存在再创建
2、如果数据库名是关键字和特殊字符要报错。
解决:在特殊字符、关键字行加上反引号
3、创建数据库的时候可以指定字符编码
脚下留心:创建数据库如果不指定字符编码,默认和MySQL服务器的字符编码是一致的。
语法:
show databases
例题
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
注意:数据库安装后,只带上面四个数据库
语法:
drop database [if exists] 数据库名
例题
mysql> drop database `create`;
Query OK, 0 rows affected (0.00 sec)
mysql> drop database `%$`;
Query OK, 0 rows affected (0.00 sec)
-- 判断数据库是否存在,如果存在就删除
mysql> drop database if exists stu;
Query OK, 0 rows affected (0.00 sec)
小结: 1、如果删除的数据库不存在,会报错
解决:删除之前判断一下,如果存在就删除
语法:
show create database 数据库名
例题:
mysql> show create database emp;
+----------+-------------------------------------------------------------+
| Database | Create Database |
+----------+-------------------------------------------------------------+
| emp | CREATE DATABASE `emp` /*!40100 DEFAULT CHARACTER SET gbk */ |
+----------+-------------------------------------------------------------+
1 row in set (0.00 sec)
只能修改数据库选项,数据库的选项只有字符编码
语法:
alter database 数据库名 charset=字符编码
例题:
mysql> alter database emp charset=utf8;
Query OK, 1 row affected (0.00 sec)
小结:
1、修改数据库只能修改数据库的字符编码
2、在MySQL中utf字符编码之间没有横杆 utf8
语法:
use 数据库名
例题
mysql> use emp;
Database changed