数据库设计
什么是数据库
数据库(DatabASe,DB)是按照特定数据结构来组织、存储和管理数据的仓库;
数据库其实就是一个容器,它由表、视图、索引、触发器、存储过程、用户等对象组成,这些对象称为数据库对象;
所以在使用这些对象之前,必须先行创建数据库;
数据定义语言:DDL
数据库操作:CREATE
、DROP
数据表操作:CREATE
、DROP
、ALTER
创建数据库
创建数据库通过CREATE DATABASE语句实现,其语法是:
CREATE DATABASE [ IF NOT EXISTS ] db_name [CREATE_specificatiON]
CREATE_specificatiON语法是:
[DEFAULT] CHARACTER SET [=] CHARset_name
说明:
如果要创建数据库,需要拥有数据库CREATE权限;
如果数据库存在,且没有指定IF NOT EXISTS,则会出现错误;
CREATE_specificatiON选项用于指定数据库的特性;
数据库特性储存在数据库目录中的db.opt文件中;
一般字符编码集有GBK、UTF8
创建数据库演示
创建数据库testdb,编码方式由MySQL配置文件决定
CREATE DATABASE testdb;
创建数据库testdb,并且指定编码方式为GB2312
CREATE DATABASE testdb DEFAULT CHARACTER SET GB2312;
创建数据库时可能产生的错误
CREATE DATABASE testdb;
ERROR 1007 (HY000): Can't CREATE database 'testdb'; database exists
错误原因:同名数据库已经存在而导致无法创建数据库;
创建数据库tsd2102,并且指定编码方式为UTF8,并验证数据库是否创建成功
CREATE DATABASE tsd2102 CHARACTER SET UTF8;
SHOW DATABASES;
创建数据库testing,并且指定编码方式为GBK,并验证数据库是否创建成功
CREATE DATABASE testing CHARACTER SET GBK;
SHOW DATABASES;
查看数据库列表
SHOW DATABASES语句的语法是:
SHOW DATABASES [ LIKE '模式' | WHERE 表达式 ]
-- 显示当前服务器下的所有数据库
SHOW DATABASES;
-- 显示当前服务器下所有以字符t开头的数据库
SHOW DATABASES LIKE 't%';
-- 显示当前服务器下所有第二个字符为e的数据库
SHOW DATABASES LIKE '_e%';
-- 显示当前服务器下所有第二个字符为e的数据库
SHOW DATABASES LIKE `DatabASe` LIKE '_e%';
-- 查看testing数据库信息
SHOW CREATE DATABASE testing;
-- 查看tsd2102数据库信息
SHOW CREATE DATABASE tsd2102;
打开数据库
打开数据库的语法是:
USE 数据库名称
-- 选择数据库
USE testdb;
-- 显示当前数据库
SELECT DATABASE();
-- 选择testing数据库
USE testing;
-- 选择tsd2102数据库
USE tsd2102;``
查看数据库创建命令
查看数据库创建命令语法如下:
SHOW CREATE DATABASE [ IF NOT EXISTS ] db_name
查看数据库testdb创建
SHOW CREATE DATABASE IF NOT EXISTS testdb;
+------------+-------------------------------------------------------------------------------------------------------------------------------------+
| DatabASe | CREATE DatabASe |
+------------+-------------------------------------------------------------------------------------------------------------------------------------+
| testdb | CREATE DATABASE /!32312 IF NOT EXISTS/ tcms
/*!40100 DEFAULT CHARACTER SET utf8 */ |
+------------+-------------------------------------------------------------------------------------------------------------------------------------+
修改数据库
修改数据库的语句是:
ALTER DATABASE db_name [DEFAULT] CHARACTER SET [=] CHARset_name
-- 修改数据库编码
ALTER DATABASE testdb CHARACTER SET gb2312;
删除数据库
删除数据库的语句是:
DROP DATABASE [ IF EXISTS ] db_name
-- 删除数据库db1
DROP DATABASE testdb;
删除数据库时可能产生的错误
ERROR 1008 (HY000): Can't DROP databASe 'testdb'; databASe doesn't exISt
错误原因:因为数据库不存在而导致无法删除;
综合练习
-- 创建一个数据库,名称为tmooc,字符编码集是UTF8,并验证数据库是否创建成功
CREATE DATABASE tmooc CHARACTER SET UTF8;
SHOW DATABASES;
-- 查看数据库tmooc信息
SHOW CREATE DATABASE tmooc;
-- 使用tmooc数据库
USE tmooc;
-- 删除tmooc数据库,并验证
DROP DATABASE tmooc;
SHOW DATABASES;