MySQL入门_实战系列文章目录

  • MySQL入门_实战1 MYSQL安装和卸载
  • MySQL入门_实战2 MYSQL的登录和断开以及SQL查询常见问题

文章目录

  • MySQL入门_实战系列文章目录
  • 前言
  • 1.创建和使用数据库
    • 1.1 查看数据库
    • 1.2 创建库
    • 1.3 选择数据库
    • 1.4 字符集编码
    • 1.5 删除数据库

前言

创建数据库比较简单,本节将介绍如何执行以下操作。


1.创建和使用数据库

1.1 查看数据库

登录到数据库

mysql -uroot -p

使用SHOW语句可以找出服务器上当前存在哪些数据库:

mysql> SHOW DATABASES;

新安装的数据库中一般可以看到 information_schema、mysql、performance_schema 和 sys这四个自带的数据库。

1.2 创建库

语法格式:
CREATE DATABASE database_name;
在MySQL命令行中创建名称为goods的数据库,用来管理商品。

 CREATE DATABASE goods;


然后,查看通过 命令**SHOW DATABASES;**查看MySQL中存在的数据库

mysql> SHOW DATABASES;

可以看到,数据库列表中增加了名称为goods的数据库。

如果数据库中目前已经存在了名为goods的数据库,再次使用CREATE DATABASE goods;语句创建名称为goods的数据库时就会报错。

报错信息:
ERROR 1007 (HY000): Can’t create database ‘goods’; database exists
错误信息为:无法创建数据库goods,数据库已存在。

现在我们有一个需求是:
如果MySQL中不存在goods数据库,则建库;如果MySQL中已经存在goods数据库,则忽略该创建语句不建库,且SQL不报错。

这种情况下,可以使用CREATE DATABASE IF NOT EXISTS的SQL格式创建数据库避免报错的情况。

创建数据库的语法格式如下:
CREATE DATABASE IF NOT EXISTS database_name;
例:

mysql> CREATE DATABASE IF NOT EXISTS goods;

1.3 选择数据库

创建数据库后并不会直接使用该库,你必须明确指定库。要使unitedkingdom成为当前数据库,使用以下语句:

mysql> USE goods


数据库只需要创建一次,但每次开始mysql会话时都必须指定数据库。您可以通过USE语句来实现这一点。或者,您可以在调用mysql时在命令行上选择数据库。只需在命令行连接串之后指定它的名称即可,例如:

$> mysql -u root -p goods

重点提示:
刚才显示的命令中的goods不是您的密码。如果希望在命令行上的-p选项之后提供密码,那么必须不使用空格(例如,作为-ppassword,而不是作为-p password)。但是,不建议将密码放在命令行上,因为这样做可能会被登录到您机器上的其他用户窥探到。

可以通过命令 SELECT DATABASE(); 随时查看当前选择的数据库

mysql> SELECT DATABASE();

1.4 字符集编码

查看数据库默认字符集编码

SHOW VARIABLES LIKE '%character_set_database%';


前面我们创建名称为goods的数据库时没有指定字符集编码,那么goods库使用的是什么字符集编码呢?

MYSQL会为创建的每个库指定一个字符编码。如果在创建数据库的SQL中时没有为显式的指定字符编码,那么MySQL会为数据库使用默认的字符编码,这个默认的字符编码就是上面查询到的信息,也是我们写在数据库配置文件my.cnf中的信息。

[mysqld]
#服务端字符集
character-set-server=utf8mb4
[mysql]
#客户端默认字符集
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务端时默认使用的端口
default-character-set=utf8mb4

查看数据库中记录的建库信息

SHOW CREATE DATABASE goods;


在命令行中,也可使用下面这个格式,对输出进行格式化
SHOW CREATE DATABASE database_name \G

可以发现,此时goods数据库的字符编码为utf8mb4,排序规则为utf8mb4_0900_ai_ci。

说明:
\G,表示将查询结果进行按列打印,横向表格纵向输出,可以使每个字段打印到单独的行

1.5 删除数据库

在MySQL中删除数据库的语法格式如下:

DROP DATABASE [IF EXISTS] database_name;
[IF EXISTS] 是可选参数,用来判断待删除数据库是否存在。
下面以这个例子说明:

mysql> DROP DATABASE goods;

查看MySQL中存在的数据库。

mysql> SHOW DATABASES;


可以看到,goods数据库已经被删除。

如果MySQL中不存在goods数据库,执行DROP DATABASE goods;命令则会报错:ERROR 1008 (HY000): Can't drop database 'goods'; database doesn't exist
提示信息为:无法删除goods数据库,数据库不存在

通过这下面这种方式可以避免报错:

mysql> DROP DATABASE IF EXISTS goods;


如果MySQL中存在goods数据库,则删库;如果MySQL中不存在goods数据库,则忽略删库语句且SQL不报错。

如果该文章有帮助到您,请 点赞 支持,谢谢!
有任何疑问,欢迎在评论中留言。

MySQL入门_实战3_创建和删除数据库相关推荐

  1. MySQL入门_实战6_MySQL数据的更新

    MySQL入门_实战系列文章目录 文章目录 MySQL入门_实战系列文章目录 前言 2 数据更新 2.1 语法格式 2.2 更新数据表中的所有记录 2.3 更新表中特定的数据行 2.4 更新某个范围内 ...

  2. 三天学会Mysql之第(三)天:创建修改删除

    今天是本系列文章最后一篇,内容较简单,在本系列完成之后,会更新一些关于sql的练习题,大概几百道不定时更新,感谢观看 创建表 创建表可以使用sql的create table语句来进行操作,也可以使用可 ...

  3. 【简洁明了MySQL】MySQL基础操作之连接,创建和删除数据库

    MYSQL基础操作之连接,创建和删除数据库 一.MySQL连接 1.方法一:客户端直接连接法(不推荐) 2. 方法二:使用命令行登录 3.两种不同的登陆状态 4.创建用户 二.创建数据库 1.crea ...

  4. azure云数据库_在Azure Cosmos DB中使用PowerShell创建和删除数据库

    azure云数据库 Our testing or development may call for dynamic creation on the database level for Azure C ...

  5. Java从入门到实战总结-4.2、数据库高级

    Java从入门到实战总结-4.2.数据库高级 文章目录 Java从入门到实战总结-4.2.数据库高级 第一章 数据完整性 1.1 数据库的完整性 1.2 实体完整性 1.2.1 主键约束(primar ...

  6. Oracle数据库 二 创建和删除数据库

    Database configuration Assistant 创建或删除数据库 在开始菜单中可已找到安装数据库后的database configuration assistant 软件,该软件用于 ...

  7. MySQL笔记5:如何创建和删除索引?

    MySQL数据库中如何创建和删除索引? 一.创建索引 索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引. 1.使用CREA ...

  8. mysql的删除命令+linux命令大全,Linux环境下MySQL基础命令----查看、创建、删除库和表...

    案例二,查看数据库 MySQL是一套数据库管理系统,支持运行多个库,每个库相当于一个容器,存放着许多表.数据就存在这些表中,所以查看.创建.删除库和表,在工作中必不可少. 一,查看 1,查看当前服务器 ...

  9. 猿创征文|MySQL入门到实战-基础篇

    项目一 分析并设计学生管理数据库 主要目标是在了解用户软件操作需求的基础上,提炼.总结.归纳出对数据库的需求.主要内容,数据库的存储结构.表中数据及其依赖关系.设计方案的优化与规范.视图等其他数据库对 ...

最新文章

  1. 六角透明颜色[复制]
  2. 以安全之名:俄罗斯强制所有消息应用留后门
  3. Qt paintevent事件
  4. sqlserver中的数据类型[转]
  5. 一篇文章,带你全面的了解二叉树-记得点赞
  6. css3玩转各种效果【资源】
  7. python有趣的代码-分享几款由quot;Python”语言编写的quot;有趣、恶搞、好玩”的程序代码...
  8. matlab gui图标,matlab GUI
  9. 数字图像处理与Python实现-图像变换-Radon变换
  10. Msm8960(APQ8064)平台的MSM-AOSP-kitkat编译适配(2):开发环境及相关的使用技巧
  11. 计算机组装实验硬盘分区方法,硬盘怎么分区和格式化 史上最详细的硬盘分区方法大全 (全文)...
  12. 运动图像国际压缩标准-整理
  13. matlab特定颜色提取
  14. 计算机实验室行政助理职责,【实验室助理工作内容|工作职责|实验室助理做什么】-看准网...
  15. Modbus 超时时间设置
  16. mac虚拟机服务器设置u盘启动不了,手把手教你解决win7系统苹果电脑运行虚拟机后无法识别显示U盘的图文方案...
  17. Measurement Studio​ 2019 R3
  18. Firebase token认证 “kid“ invalid, unable to lookup correct key
  19. html 获取语音时长,javascript – HTML5音频 – 获取声音对象的时间(howler.js)
  20. iOS NEON 介绍

热门文章

  1. 公众号如何发送小程序卡片,教你一招
  2. 魔兽世界9.0格拉萨恩的宝箱怎么得 格拉萨恩的宝箱获取方法
  3. 流量卡之家:华为禁令殃及高通,下调全年智能手机出货预估1亿部
  4. ZYNQ之路--HLS入门示例分析(基于UG871)(一)
  5. vb.net 软件7层设计的含义
  6. 免费cad转pdf方法
  7. unity全免费下载资源网站
  8. JAVA a++ 与 ++a的区别
  9. 用冰刃结束pubwin
  10. 侠盗飞车罪恶都市完全秘籍