1.创建数据库语句

create database语句是在MySQL实例上创建一个指定名称的数据库。

create schema语句的语义和create database是一样的。

2.语法解析

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_specification] ... create_specification:
[DEFAULT] CHARACTER SET [=] charset_name
| [DEFAULT] COLLATE [=] collation_name

(1)用给定的名称创建数据库。如果用这句话,你需要创建数据库的权限。创建模式是一个创建数据库的同义词。

(2)如果数据库存在且未指定是否存在,则会出现错误。

(3)在一个活跃的锁表语句的会话中不允许创建数据库。

(4)create_specification选项指定创建数据库的属性,并存储在数据库目录的db.opt文件中。

  • charcter set属性指定数据库的默认字符集;
  • collate属性指定此数据库的默认排序规则。
[root@localhost course]# ls
course.frm course.ibd db.opt dept.frm dept.ibd students.frm students.ibd teacher_backup.frm teacher_backup.ibd teacher.frm teacher.ibd
[root@localhost course]# cat db.opt
default-character-set=latin1
default-collation=latin1_swedish_ci

(5)MySQL中的数据库被实现为一个目录,该目录包含与数据库中的表相对应的文件。因为当数据库初始化时是没有表的,创建数据库语句只在MySQL数据目录下创建一个目录的和db.opt文件。

(6)如果在数据库目录下手动创建目录(使用mkdir),服务器认为它是数据库目录,并显示在数据库里。

(7)你也可以使用mysqladmin程序创建数据库。

3.实践演示

mysql> create database test2;
Query OK, 1 row affected (0.00 sec) mysql> show create database test2;
+----------+------------------------------------------------------------------+
| Database | Create Database |
+----------+------------------------------------------------------------------+
| test2 | CREATE DATABASE `test2` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+------------------------------------------------------------------+
1 row in set (0.00 sec) mysql> create database test3 character set utf8;
Query OK, 1 row affected (0.00 sec) mysql> show create database test3;
+----------+----------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------+
| test3 | CREATE DATABASE `test3` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
1 row in set (0.00 sec) mysql> create database test3;
ERROR 1007 (HY000): Can't create database 'test3'; database exists
mysql> create database if not exists test3;
Query OK, 1 row affected, 1 warning (0.00 sec)

4.创建数据库的另一种方式

[root@localhost data]# pwd
/data1/mysql/data
[root@localhost data]# mkdir test1
[root@localhost data]# chown mysql:mysql -R test1
[root@localhost data]# mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.20 MySQL Community Server (GPL) Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| a1 |
| a2 |
| a3 |
| course |
| mysql |
| performance_schema |
| sys |
| test1 |
+--------------------+
9 rows in set (0.01 sec)

5.查看数据库创建语句

SHOW CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name

显示创建命名数据库的创建数据库语句。

如果显示语句包含"IF NOT EXISTS"子句,输出也包含这样一个子句。"SHOW CREATE SCHEMA"是"SHOW CREATE DATABASE"的同义词。

mysql> show create database test2\G
*************************** 1. row ***************************
Database: test2
Create Database: CREATE DATABASE `test2` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 sec) mysql> show create database test2;
+----------+------------------------------------------------------------------+
| Database | Create Database |
+----------+------------------------------------------------------------------+
| test2 | CREATE DATABASE `test2` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+------------------------------------------------------------------+
1 row in set (0.00 sec) mysql> show create schema test2;
+----------+------------------------------------------------------------------+
| Database | Create Database |
+----------+------------------------------------------------------------------+
| test2 | CREATE DATABASE `test2` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+------------------------------------------------------------------+
1 row in set (0.00 sec)

MySQL-5.7创建及查看数据库的更多相关文章

  1. MySQL-5.7创建及查看数据库表

    1.创建数据库表的三种语句 创建一个新表: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [tab ...

  2. mysql表的创建、查看、修改、删除

    一.创建表 创建表前先使用use 数据库名进入某一个数据库,创建表语句的格式如下: create table 表名称 ( 列名1 列的数据类型 [约束], 列名2 列的数据类型 [约束], 列名2 列 ...

  3. MySQL5.7 创建及查看数据库

    1.创建数据库语句create database语句是在MySQL实例上创建一个指定名称的数据库.create schema语句的语义和create database是一样的. 2.语法解析 CREA ...

  4. MySQL索引的创建,查看,删除

    在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引. 1.ALTER TABLE ALTER TABLE用来创建普通索引.UN ...

  5. mysql匿名登录 导致创建不了数据库

    常见问题 Access denied for user ''@'localhost' to database 'web02' //web02是我自己创建的数据库 原因分析:mysql数据库的user表 ...

  6. mysql操作入门基础之对数据库和表的增删改查

    一.数据库管理-- 1.登陆数据库 mysql -u root -p; -- 2.查看数据库服务器所有数据库 SHOW DATABASES; -- 3.创建数据库 CREATE DATABASE My ...

  7. mysql数据库的基本操作:创建数据库、查看数据库、修改数据库、删除数据库

    本节相关: 创建数据库 查看数据库 修改数据库 删除数据库 首发时间:2018-02-13 20:47 修改: 2018-04-07:考虑到规范化,将所有语法中“关键字”变成大写;以及因为整理“mys ...

  8. mysql 命令行查看数据库、创建数据库、选择数据库、删除数据库

    mysql数据库命名规则(标识符规则): 不能和已存在的命名重名: 由大小写字母.数据.下划线.@.# 和 $ 符号组成: 首字母不能是数字和$符. 不允许有空格和特殊字符. 不允许是mysql的保留 ...

  9. 【第四章】MySQL数据库的基本操作:数据库、表的创建插入查看

    MySQL数据库基本操作 创建表 create table 查看表结构 desc table, show create table 表完整性约束 修改表 alter table 复制表 create ...

随机推荐

  1. 分布式服务框架:Zookeeper简介

    分布式服务框架:Zookeeper(分布式系统的可靠协调系统) 本文导读: 1 Zookeeper概述 2 Zookeeper总体结构 ——逻辑图.运转流程.特点.优点.数据结构 3 Zookeepe ...

  2. spring boot打包会有.war.original文件的原因 (笔记)

    今天使用spring boot 2.1.1.RELEASE版本搭建项目,虽然可以直接打包成可运行的jar包,但是由于公司准备采用docker容器来管理项目,所以需要把jar包变成war包,并且war包 ...

  3. db2 相关命令

    db2ilist  ---列出主机所有实例 db2icrt  instanceName   ---创建实例名为instanceName的实例 db2idrop  instanceName   ---删 ...

  4. 【BZOJ4538】[Hnoi2016]网络 整体二分+树状数组

    [BZOJ4538][Hnoi2016]网络 Description 一个简单的网络系统可以被描述成一棵无根树.每个节点为一个服务器.连接服务器与服务器的数据线则看做一条树边.两个服务器进行数据的交互 ...

  5. Objective-C规范注释心得——同时兼容appledoc(docset、html)与doxygen(html、pdf)的文档生成

    作者:zyl910 手工写文档是一件苦差事,幸好现在有从源码中抽取注释生成文档的专用工具.对于Objective-C来说,目前最好用的工具是appledoc和doxygen.可是这两种工具对于注释的要 ...

  6. fnt 图字原理

    摘自:http://blog.csdn.net/wzq9706/article/details/8188256 首先要介绍一下,图字是怎么来的?其实这个很早很早了,记得80后在95年开始玩DOS下的仙 ...

  7. Alcor(安国)AU6387量产修复(u盘修复)

    2010年买的U盘,自从去年坏掉一直没有用. 今天试着把它修理的心态,看看能修好不能.不料真的被我搞好了. 下面是教程链接 如果你的芯片跟我的一样,我人品保证你可以成功. 如果你看教程之后量产 成功, ...

  8. 【IDEA】Maven踩坑:pom文件中的默认profiles不生效+IDEA中Maven的profiles使用说明

    一.问题即分析 项目pom文件中的profiles有3个配置:dev.test和production 默认配置的是dev,如下图: 但在本地起服务时,读取的配置始终是test里的. 二.原因 2.1 ...

  9. POJ 3020 Antenna Placement【二分匹配——最小路径覆盖】

    链接: http://poj.org/problem?id=3020 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...

  10. 转!!java中File的delete()方法删除文件失败的原因

    一般来说 java file.delete失败 有以下几个原因 1.看看是否被别的进程引用,手工删除试试(删除不了就是被别的进程占用)2.file是文件夹 并且不为空,有别的文件夹或文件, 3.极有可 ...