目录
认识数据库
数据库基本概念
数据库(DataBase)是按照数据结构来组织、储存和管理数据的仓库,是储存在一起的相关数据的集合。优势:
减少数据的冗余度,节省数据的存储空间。
具有较高的数据独立性和易扩展性。
实现数据资源的充分共享。
数据库系统
数据库系统(DataBase System,DBS)是采用数据库技术的计算机系统,由数据库、
数据库管理系统(DataBase Management System,DBMS)、数据库管理人员(Database Administrator,DBA)、硬件平台和软件平台5部分构成的运行实体
数据库管理系统
数据库管理系统(DataBase Management System,DBMS)是组成数据库系统一个重要的组成部分,位于用户和操作之间的一层数据管理软件,负责数据库中的 数据组织、数据操纵、数据维护和数据服务等。主要如下功能:
数据存取的物理构建:为数据模式的物理存取提供有效的存取方法和手段
数据操纵功能:查询、插入、修改、删除
数据定义功能:通过数据定义语言(Data Definition Language ,DDL)方便的对数据库中的对象进行定义
数据库运行的管理:管理数据库的运行和维护,保障数据的安全性、完整性、并发性、和故障的系统恢复性
数据库的建立和维护功能:完成初始数据的输入和转换、数据库的转储和恢复、数据库的性能监视和分析等任务。
关系数据库
关系数据库是支持关系模型的数据库。由数据结构、数据操作、完整性约束三部分组成
数据库常用对象
在MySQL的数据库中,数据库对象是指 具体存储数据或对数据进行操作的实体,如:表、视图、存储过程和索引。
创建数据库
可以使用create database语句和create schema语句创建数据库,语法如下:
create {database|schema } [if not exists] 数据库名
[
[default] character set [=] 字符集 |
[default] collate [=] 校对规则名称
];
※说明:“{ }”表示必选项;“[]”表示可选项;“|”表示分隔符两侧的内容为“或”的关系。
参数如下说明:
[if not exists]:表示在数据库创建前进行判断,只有该数据库目前尚未存在时才会执行创建语句
数据库名:必须指定,在windows下不区分大小写,linux下区分,为了方便移植,建议使用小写来定义数据库名和表名
[default]:表示指定默认值 字符集默认:Latin1 ,校对规则默认Latin1_swedish_ci
character set [=]:用于指定数据库的字符集,如果不想指定就会使用默认的字符集来创建数据库,例如:GB2312、GBK、UTF8、Latin1(拉丁文)
collate [=]:用于指定字符集的校对规则。例如utf8_bin、utf8_general_ci、gbk_chinese_ci。
create database db_admin character set utf8 collate utf8_general_ci;
create schema db_admin1; #第二种创建数据库的方法
查看数据库
成功创建数据库后,可以使用 show命令查看MySQL服务器中的所有数据库信息,语法:
show {databases|schemas}
[like '模式' where '条件'];
参数如下说明:
{databases|schemas}:必选一个,列出当前用户权限范围内所能看到的所有数据库的名称,两个的结果是一样的。
like:可选项,用于指定匹配模式
where:可选项,用于指定数据库名称查询范围的条件
SHOW DATABASES;
SHOW DATABASES LIKE '%_sche';
选择数据库
使用create database创建数据库后,该数据库不会自动成为当前数据库,需要用到use语句来实现选择数据库,语法如下:
use 数据库名称;
use db_admin;
修改数据库
创建数据库后,还可以对其进行修改,但这里的修改并不能修改数据库名,只能修改被创建数据库的相关参数:字符集、校对规则 ,使用alter database或者alter schema语句来实现修改。语法:
alter {database|schema } [数据库名]
[default] character set [=] 字符集|
[default] collate [=] 校对规则名称];
ALTER DATABASE db_admin CHARACTER SET utf8 COLLATE utf8_general_ci;
删除数据库
通过使用drop database 语句或者drop schema语句来删除已经存在的数据库,该语句在删除数据库的同时,连同该数据库中的表以及表中的数据也将永久删除,语法:
drop {database|schema} [if exists] 数据库名;
DROP DATABASE IF EXISTS db_admin;
※注意
在使用drop database 语句或者drop schema语句时,用户必须具有对数据库删除的权限。
在数据库上的用户权限是不会被自动删除的。
一旦数据库执行删除操作,数据库上的所有结构和数据都会被删除,没有恢复的可能,除非数据库有备份。