您的位置:首页 > 数据库 > MySQL

mysql之DDL操作--数据库

2016-08-12 21:45 169 查看
SQL是操作关系数据库非常重要的一门编程语言

structure query language既然是语言自然可以编程,SQL的分类可依据操作对象的不同分为DDL,DML,DCL。
我们操作数据库如创建,添加,更新,删除操作,如操作表等都是属于定义范围。
所以DDL则是SQL定义语言。
我们要用数据库来存储数据,自然是先有库,再有表,然后再数据,所以我们要先定义库,定义表。
1、创建数据库
create database db_name [数据库选项] 一般情况下选项可以不填写
如我们创建一个学生库:
create database student;




PS:创建数据库时,数据库名的命令规则要遵循如下规则:
A、命令应该遵循标识符的规则 即字母,数字,下划线组成
B、数据库名不得使用系统内置的关键字或是特殊符号
C、如果使用特殊符号或是中文符号时要加上反引号‘`’。
如创建一个中文的数据库:
create database `学生库`;




那么我们创建数据库时,会自动在data目录下生成一个目录且以数据库名命名的目录同时还有一个.opt的文件,该文件是数据库的选项文件,存储的是数据库的选项信息。如果我们在创建数据库时没有写上库的选项就是默认的选项。









我们注意到,如果说我们创建数据库时使用的是特殊符号,那么在创建目录时则是使用其它编码的字符并非乱码,我们查看数据库结果如下:



所以请大家不要误认为这是乱码,这是一种错误的认识哦。当然们建议创建数据库尽量遵循标识符的规则来命名比较好。

我们在定义数据库时没有指定相应的库选项,其实是库的字符编码以及字符的校对规则,接下来我们使用一下怎么定义他:
create database `teacher` character set utf8;



我们打开数据库的选项文件显示如下:




接下来我们查看数据库服务器里有哪些数据库
查询指令:show databases;
查看数据库的创建信息:show create database db_name;









这两个查询指令非常简单,show databases是查询有哪些数据库,而show create database db_name则是查看数据库的创建信息。

数据库创建好了,我们有时候不想要了那么就会删除数据库
删除指令:drop database db_name
或是:drop database if exists db_name








第二条指令则是删除时检测库是否存在,如存在则删除,不存在删除时也不会报错。

修改数据库:
可以修改库的库选项如字符编码
alter database db_name character set gbk;




那么数据库名怎么修改呢?在早期的数据库版本是支持rename重命令这个指令的,但现在的版本没有支持了,如果说我们要更新数据库名的话有以下两个方案解决:
1、一是直接更新data目录下的数据库目录名称
2、创建一个新的数据库,然后将当前库的表复制到新库里,再将其删除。就完成了数据名的更新操作了。

以上是数据库的创建,删除,查看,更新的操作。

补充一点我们的数据库服务器里如果有许多数据库时,再检索时也可以这样做:
show databases like '%xx' 其中%相当于任意字符,以XX结尾的字符串名




关于数据表的操作及后面的知识点会依据时间情况来写。欢迎各路朋友指教。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息