语法基础
在MySQL中创建数据库的语句是:
CREATE DATABASE 数据库名
以上是简单的创建数据库,创建的数据库语法格式为:
CREATE DATABASE [IF NOT EXISTS] <数据库名>
[[DEFAULT] CHARACTER SET <字符集名>] [[DEFAULT] COLLATE <校对规则名>]
[]
中的内容是选择性填写的,语法说明如下:
- <数据库名>:所创数据库的名称,必须符合命名规则,MySQL中不区分大小写
IF NOT EXISTS
判断是否存在该数据库,存在则不执行改语句,可以避免数据库已经存在而重复创建的错误[DEFAULT] CHARACTER SET
:指定数据库的默认字符集。[DEFAULT] COLLATE
:指定字符集的默认校对规则。
MySQL 的字符集(CHARACTER)和校对规则(COLLATION)两个不同的概念:字符集是用来定义 MySQL 存储字符串的方式,校对规则定义了比较字符串的方式,解决排序和字符分组的问题。
为防止字符混乱的情况发生,MySQL 有时需要在创建数据库时明确指定字符集;在中国大陆地区,常用的字符集有 utf8 和 gbk。
utf8
能够存储全球的所有字符,在任何国家都可以使用,默认的校对规则为utf8_general_ci
,对于中文可以使用utf8_general_ci
。gbk
只能存储汉语涉及到的字符,不具有全球通用性,默认的校对规则为gbk_chinese_ci
。
例子
创建数据库语句
创建一个名为test的数据库,输入语句CREATE DATABASE test;
,因为python写多了,执行语句总是忘加;
大家在写程序时别忘了
但如果我们重复创建数据库就会出错,MySQL不允许建立相同名字的数据库
这时我们就需要添加IF NOT EXISTS
语句,就可避免出现以上错误
mysql> CREATE DATABASE tset;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE DATABASE tset;
1007 - Can't create database 'tset'; database exists
mysql> CREATE DATABASE IF NOT EXISTS tset;
Query OK, 1 row affected (0.00 sec)
创建 MySQL 数据库时指定字符集和校对规则
创建一个数据库名字为test
,指定默认字符集为utf8
,默认校对规则为utf8_chiinsese_ci
mysql> CREATE DATABASE IF NOT EXISTS test_db_char
-> DEFAULT CHARACTER SET utf8
-> DEFAULT COLLATE utf8_chinese_ci;
Query OK, 1 row affected (0.03 sec)
大家如果出现1273 - Unknown collation: 'utf8_chinese_ci'
以上报错,是数据库版本问题,可以将 utf8_chinese_ci
替换成utf8_unicode_ci
。
http://c.biancheng.net/view/2413.html我是参考这个网址进行学习的,并给出自己在学习中遇到的问题
版权声明:本文为qq_38523616原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。