MySQL中如何定义数据库

浏览: 1577


预备阅读:MySQL编程语言基础学习 MySQL常用函数学习

前言

前面我们已经安装好了MySQL,之后我们就可以通过MySQL客户端工具连接登录到MySQL服务器,然后就可以开始创建和使用数据库了,这里面会涉及一些数据库的创建、选择、查看、修改、和删除等。作为一个有追求的数据分析师,我们不仅要学习Excel办公,还要学会使用更偏向技术的SQL查询,这里我们学习MySQL,好处不言而喻。


创建数据库

MySQL中创建数据库的语法是:

CREATE {DATABASE | SCHEMA} [IF NOT EXIST] db_name

[ [DEFAULT] CHARACTER SET [=] charset_name ]

[ [DEFAULT] COLLATE [=] collation_name];

语法说明:

“[ ]”内为可选项。

“|”用于分隔大括号中的选项,表示可任选其中一项来与大括号外的语法成分共同组成SQL命令,选项之间是“或”的关系。

db_name:数据库名。在文件系统中,MySQL的数据存储区是以目录方式表示MySQL数据库。所以命令中的数据库名必须符合操作系统的文件夹命名规则,在MySQL中是不区分大小写的。

IF NOT EXIST:创建数据库的时候进行判断,只有该数据库目前尚不存在时才执行CREATE DATABASE。这样可以避免出现数据库已经存在而再新建的错误。

CHARACTER SET:用于指定数据库字符集(Charset),charset_name为字符集名称。简体中文字符集名称为gb2312,但是现在一般都是Unicode字符集。视情况而定。

COLLATE:用于指定字符集的校订规则,collation_name为校订规则的名称。简体中文字符集的校对规则为gb2312_chinese_ci。Unicode字符集的校对规则为utf8mb4_unicode_ci。

DEFAULT:指定默认的数据库字符集和字符集的校对规则。

现在我们在MySQL中创建一个名字为db_school的数据库,命令如下:

CREATE DATABASE db_school

DEFAULT CHARACTER SET gb2312

DEFAULT COLLATE gb2312_chinese_ci;

上面的命令执行成功后,系统会自动在MySQL的安装路径\data下创建一个同名文件夹,其中包含一个db.opt文件,用于存储创建数据库的全局特性,如缺省字符集和校对规则等。

重新执行上面的SQL会报错,因为数据库已经存在了,加上IFNOT EXIST就可以避免报错。

PS.在使用创建等的命令时,我们必须获得相应的权限,一般来说,我们是有的,但是因为权限问题,所以还是注意分配好使用权限。


选择与查看数据库

选择数据库:USE db_school;

查看数据库:SHOW {DATABASES | SCHEMAS};

这里会看到当前用户权限范围内所能查看到的所有数据库名称。

下面看一下MySQL安装时系统自动创建的数据库,他们的作用如下表:

数据库名称作用
mysql描述用户访问权限
information_schema保存关于MySQL服务器所维护的所有  其他数据库的信息,如数据库名、数据库表、表字段的数据类型与访问权限等。
performance_schema主要用于手机数据库服务器性能参数
test测试数据库,可以随意使用


修改数据库

在MySQL中,数据库的默认字符集为latin1,默认校对规则为latin1_swedish_ci。使用ALTER DATABASES 或ALTER SCHEMA可以修改数据库的默认字符集和字符集的校对规则。语法格式是:

ALTER {DATABASE | SCHEMA} [IF NOT EXIST] [db_name]

[ [DEFAULT] CHARACTER SET [=] charset_name ]

[ [DEFAULT] COLLATE [=] collation_name];

PS.这些操作都需要有权限才可以,数据库名称可以省略,默认更改当前数据库。下面我们把上面的db_school数据库改为utf8字符集和其校对规则。

ALTER DATABASE db_school

DEFAULT CHARACTER SET 'utf8mb4'

DEFAULT COLLATE utf8mb4_general_ci;

修改成功,再次查看数据库的校对规则已经变了。

删除数据库

删除数据库是将已创建的数据库文件夹从磁盘空间上清除,同时里面的数据也被清除,(这很危险,要谨慎操作,数据无价)。语法格式如下:

DROP {DATABASES | SCHEMA} [ IF EXISTS ] db_name;

执行删除操作,需要相应的权限,防止误删,可选项IF EXISTS子句可以避免删除不存在的数据库时出现MySQL错误信息。

PS.不能删除MySQL安装时自动创建的数据库,否则MySQL不能正常工作。

小结

上面就是今天的主题内容了,学习MySQL可以应对大数据量的情况下提高工作效率。希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。

如果想快速联系我,欢迎关注微信公众号:AiryData。

 

推荐 0
本文由 Airy 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册