一.创建数据库
数据库命名规则:
- 名称可以由任意字母,阿拉伯数字,下划线(_)和“$” 组成,可以使用上述的任意字符开头,但不能使用单独的数字,否则会造成它与数值相混淆。
- 名称最长可为64字符,而别名最长可达256个字符。
- 不能使用MySQL关键字作为数据库名,表名。
- 默认情况下,在windows下数据库名,表名的大小写是不敏感的,而在Linux 下数据库名,表名的大小写是敏感的,为了便于数据库在平台间进行移植,建议采用小写来定义名称。
创建数据库有两种创建方式分别是:
代码语言:javascript复制 CREATE DATABASE student(数据库名称);
CREATE SCHEMA student(数据库名称);
在MySQL中,schema和database是同义词,CREATE SCHEMA和CREATE DATABASE是等效的.
但是其他的数据库产品(几乎所有数据库)有所不同.在oracle数据库产品中,schema是database的一部分.
可以使用IF NOT EXISTS 来判断是否存在同名数据库(若存在则不创建)。
代码语言:javascript复制CREATE DATABASE IF NOT EXISTS student
在创建数据库的过程中,我们还可以指定字符集和校对规则名称,如下:
代码语言:javascript复制CREATE DATABASE student
CHARACTER SET = UTF8 //指定字符集
COLLATE = utf8_bin; //指定校对规则名称
小提示:sql语句也是分号表示结束的,输入完一条命令,可以按回车接着输入下一条,直到命令全部输入完,再使用分号表示完成输入。
这里要注意字符集应和校对规则名称相对应,不可一边UTF8 一边GBK, 如若没有指定字符集和校对规则名字,则会按照默认MySQL默认方式(MySQL目录 my.ini配置文件)创建数据库,下面给出一些常用的字符集以及校对规则名称。
字符集 | 解释 |
---|---|
GB2312 | 简体中文,由中华人民共和国政府制定的,简体汉字编码规范,大陆所有计算机中的简体中文,都使用此种编码格式。 |
GBK (常用) | 简体中文,又称GBK大字符集,简而言之就是将所有亚洲文字的双字节字符,包括简体中文,繁体中文,日语,韩语等,都使用一种格式编码,兼容所有平台的上的语言。 |
UTF8(常用) | 万国码,针对Unicode的可变长度的字符编码, |
BIG5 | 繁体中文,中华民国政府制定的,繁体汉字的编码规范,一般应用于海外计算机的繁体中文显示。 |
Latinl | 拉丁文 |
校对规则命名约定:以其相关的字符集名开始,中间包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二进制存储,区分大小写)结束,例如:
- gbk_chinese_ci(gbk)
- utf8_general_cs(utf8)
校对规则是非常多的,有兴趣的话可以看一下这里:MySQL中数据库校对规则
总结语法:
代码语言:javascript复制CREATE {DATABASE|SCHEMA} [IF NOT EXISTS] 数据库名
[
[DEFAULT]CHARACTER SET = 字符集|
[DEFAULT]COLLATE = 校对规则名称
];
二.查看数据库
查看所有数据库:
代码语言:javascript复制SHOW DATABASES;
使用LIKE(模糊查询)来指定匹配模式:
代码语言:javascript复制SHOW DATABASES LIKE 'ab%';
ab% 表示以ab开头,后面可以是任意字母,�表示任意字母开始,结尾是ab,�%表示前后任意字符但中间有ab。
使用WHERE(条件查询)指定数据库名称查询范围的条件,这个主要用在数据表。
总结语法:
代码语言:javascript复制SHOW {DATABASES|SCHEMAS}
[LIKE'模式'WHERE 条件];
三.选择数据库
代码语言:javascript复制USE student;
四.修改数据库
使用下面语句将修改之前创建的数据库的相关内容,其中不包括数据库的名称:
代码语言:javascript复制ALTER DATABASE student
CHARACTER SET = 字符集
COLLATE = 校对规则名称
;
总结语法:
代码语言:javascript复制ALTER{DATABASE|SCHEMA}[数据库名]
[DEFAULT] CHARACTER SET = 字符集
[DEFAULT]COLLATE = 校对规则名称
五.删除数据库
代码语言:javascript复制DROP{DATABASE|SCHEMA}[IF EXISTS]数据库名;
图解Python数据结构与算法-实战篇