码迷,mamicode.com
首页 > 数据库 > 详细

mysql之DDL操作--数据库

时间:2016-08-13 14:15:51      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:关系数据库   database   structure   编程语言   特殊符号   

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结尾的字符串名

技术分享


关于数据表的操作及后面的知识点会依据时间情况来写。欢迎各路朋友指教。

本文出自 “乐学” 博客,请务必保留此出处http://lestudy.blog.51cto.com/6378140/1837540

mysql之DDL操作--数据库

标签:关系数据库   database   structure   编程语言   特殊符号   

原文地址:http://lestudy.blog.51cto.com/6378140/1837540

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!