前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL CREATE DATABASE语句创建数据库

MySQL CREATE DATABASE语句创建数据库

作者头像
星哥玩云
发布2022-08-18 19:23:30
3.4K0
发布2022-08-18 19:23:30
举报
文章被收录于专栏:开源部署开源部署

本节将介绍 MySQL 新建数据库的相关知识。

准备

在安装并配置好MySQL的Linux系统上,先用以下两条命令打开 MySQL 服务并使用 root 登录:

# 打开 MySQL 服务 sudo service mysql start

#使用 root 用户登录 [linuxidc@localhost ~/www.linuxidc.com]$mysql -u root -p

如果你理解了上述代码的含义, -u 和 root 之间可以不要空格

后续的实验都在 MySQL 的控制台输入命令进行操作。

在 MySQL 中,可以使用 CREATE DATABASE 语句创建数据库,语法格式如下:

CREATE DATABASE [IF NOT EXISTS] <数据库名> [[DEFAULT] CHARACTER SET <字符集名>]  [[DEFAULT] COLLATE <校对规则名>];

[ ]中的内容是可选的。语法说明如下:

  • <数据库名>:创建数据库的名称。MySQL 的数据存储区将以目录方式表示 MySQL 数据库,因此数据库名称必须符合操作系统的文件夹命名规则,不能以数字开头,尽量要有实际意义。注意在 MySQL 中不区分大小写。
  • IF NOT EXISTS:在创建数据库之前进行判断,只有该数据库目前尚不存在时才能执行操作。此选项可以用来避免数据库已经存在而重复创建的错误。
  • [DEFAULT] CHARACTER SET:指定数据库的字符集。指定字符集的目的是为了避免在数据库中存储的数据出现乱码的情况。如果在创建数据库时不指定字符集,那么就使用系统的默认字符集。
  • [DEFAULT] COLLATE:指定字符集的默认校对规则。

MySQL 的字符集(CHARACTER)和校对规则(COLLATION)是两个不同的概念。字符集是用来定义 MySQL 存储字符串的方式,校对规则定义了比较字符串的方式。

实例1:最简单的创建 MySQL 数据库的语句

在 MySQL 中创建一个名为 linuxidc_db 的数据库。在 MySQL 命令行客户端输入 SQL 语句CREATE DATABASE linuxidc_db;即可创建一个数据库, (注意不要漏掉分号 ;),前面的 CREATE DATABASE 也可以使用小写,,输入的 SQL 语句与执行结果如下。

MariaDB [(none)]> CREATE DATABASE linuxidc_db; Query OK, 1 row affected (0.000 sec)

“Query OK, 1 row affected (0.000 sec)”提示中,“Query OK”表示上面的命令执行成功,1 row affected表示操作只影响了数据库中一行的记录,“0.000 sec”则记录了操作执行的时间。

若再次输入CREATE DATABASE linuxidc_db;语句,则系统会给出错误提示信息,如下所示:

MariaDB [(none)]> CREATE DATABASE linuxidc_db; ERROR 1007 (HY000): Can't create database 'linuxidc_db'; database exists

MySQL CREATE DATABASE语句创建数据库
MySQL CREATE DATABASE语句创建数据库

提示不能创建“linuxidc_db”数据库,数据库已存在。MySQL 不允许在同一系统下创建两个相同名称的数据库。

可以加上IF NOT EXISTS从句,就可以避免类似错误,如下所示:

MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS linuxidc_db; Query OK, 0 rows affected, 1 warning (0.000 sec)

MySQL CREATE DATABASE语句创建数据库
MySQL CREATE DATABASE语句创建数据库
实例2:创建 MySQL 数据库时指定字符集和校对规则

使用 MySQL 命令行工具创建一个测试数据库,命名为 idc_db,指定其默认字符集为 utf8,默认校对规则为 utf8_general_ci,输入的 SQL 语句与执行结果如下所示:

MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS idc_db     -> DEFAULT CHARACTER SET utf8     -> DEFAULT COLLATE utf8_general_ci; Query OK, 1 row affected (0.001 sec)

MySQL CREATE DATABASE语句创建数据库
MySQL CREATE DATABASE语句创建数据库

这时,可以使用SHOW CREATE DATABASE查看 idc_db 数据库的定义声明,发现该数据库的指定字符集为 utf8,运行结果如下所示:

代码语言:javascript
复制
MariaDB [(none)]> SHOW CREATE DATABASE idc_db;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| idc_db   | CREATE DATABASE `idc_db` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+-----------------------------------------------------------------+
1 row in set (0.000 sec)
MySQL CREATE DATABASE语句创建数据库
MySQL CREATE DATABASE语句创建数据库

1 row in set (0.00 sec) 表示集合中有 1 行信息,处理时间为 0.00秒。时间为 0.00 秒并不代表没有花费时间,而是时间非常短,小于 0.01 秒。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实例1:最简单的创建 MySQL 数据库的语句
  • 实例2:创建 MySQL 数据库时指定字符集和校对规则
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档