前言

之前几天写了MySql 的GROUP BY 语句和 JOIN 语句,今天补一下创建数据库、表的语句。首先假设已经暗转好MySQL 数据库,然后创建数据库、表。

创建数据库

create database [if not exists] 数据库名;
[CHARACTER SET charset_name]
[COLLATE collation_name];
  • if not exists 表示如果数据库不存在则创建,如果存在则不创建
  • charset_name 表示字符集,比如 utf8,gbk,latin1
  • collation_name 表示排序规则,比如 utf8_general_ci,gbk_chinese_ci

简单创建数据库

create database study_dbs;
mysql> show databases;

+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| study_dbs |
| sys |
+--------------------+
  • 再次通过 create database study_dbs 创建数据库 会抛出错误

    ERROR 1007 (HY000): Can't create database 'study_dbs'; database exists
  • 原因:数据库已存在

解决办法有两种

  • 直接删除数据库,再重新新建,这种方法个人理解只适合新建数据库时使用,一旦数据库已经存在并保存了数据,这种方法不适用,想要删除需要确认数据已经备份或者不在需要
  • 使用 if not exists 判断数据库是否存在,如果存在则不创建,如果不存在则创建,这种方法适合数据库已经存在的情况
CREATE DATABASE IF NOT EXISTS study_dbs;
  • if not exists 表示数据不存在创建,存在则不创建
Query OK, 1 row affected (0.00 sec)

含有设置字符集的创建数据库语法

create database if not exists study_dbs
character set utf8mb4
collate utf8mb4_general_ci;

查看数据库字符集和排序规则

mysql> show create database study_dbs;

删除数据库

  • drop database [if exists] 数据库名;
drop database study_dbs;
  • 删除数据库后,再次查询数据库,发现数据库已经不存在
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+

为了避免再删除数据库时抛出错误 可以加上 if exists 判断数据库是否存在

drop database if exists study_dbs;

修改数据库字符集和排序规则

alter database study_dbs
character set GBK
collate gbk_chinese_ci;
  • 再次查看数据库字符集和排序规则
mysql> show create database study_dbs;

可以看到数据库的字符集和排序规则已经修改

使用数据库

use study_dbs;

MySql 增、删、改、查数据库的更多相关文章

  1. Go语言之进阶篇mysql增 删 改 查

    一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...

  2. php5.4以上 mysqli 实例操作mysql 增,删,改,查

    <?php //php5.4以上 mysqli 实例操作mysql header("Content-type:text/html;charset=utf8"); $conn ...

  3. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  4. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  5. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  6. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  7. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  8. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  9. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  10. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

随机推荐

  1. OceanBase时序数据库CeresDB正式商用 为用户提供安全可靠的数据存储管理服务

    简介: OceanBase完成OLAP和OLTP双重能力并行后,向数据管理领域多模方向迈出第一步. 近日,在数据库OceanBase3.0峰会上,OceanBase CEO杨冰宣布首个时序数据库产品C ...

  2. Docker Volume 的经常用法区别

    对于使用 NFS 的 Docker 数据卷,配置示例应当类似于这样: version: '3' services: my_service: image: your_image volumes: # 挂 ...

  3. [Go] 注意 go build -o <output> 选项的准确含义

    -o <output> 选项强制执行把构建的可执行文件写入到目标文件或者目标目录中. 如果 output 是已存在的目录,那么所有构建好的文件都将写入到该目录中. 注意:如果目录不存在的话 ...

  4. WPF 已知问题 资源字典树引用与资源寻找的坑

    大家都知道,在 WPF 里面,可以让资源字典合并其他资源字典,从而定义出资源字典引用树.然而在资源字典引用树里面,如果没有理清关系,将可以作出一个超级复杂的引用关系网.如果在性能优化中,将网断开部分, ...

  5. 通过 KoP 将 Kafka 应用迁移到 Pulsar

    通过 KoP 将 Kafka 应用迁移到 Pulsar 版权声明:原文出自 https://github.com/streamnative/kop ,由 Redisant 进行整理和翻译 目录 通过 ...

  6. 由初中生实现的 Windows 12 网页版!

    大家好,我是 Java陈序员. 这几天,逛 Github 的时候,看到了一个项目 win12 -- 仿 Windows12 网页版!被它实现的页面功能震撼到了,大家可以一起来感受下! 首先是登录页面. ...

  7. 一个list分成 list长度/step_length 向上取整个小list集合

    一.具体实现方法 /** * 将一个list按照新的步长分成list长度/step_length 向上取整个小list * @param list * @param step_length * @re ...

  8. java学习之旅(day.17)

    GUI编程 GUI:图形用户界面编程 GUI快淘汰了 GUI的核心技术:Swing . AWT 这是类 做一个场景页面涉及的组件 窗口.弹窗.面板.文本框.列表框.按钮.图片.监听事件.鼠标.键盘.破 ...

  9. uniapp android app 铃声静音,真正的免打扰

    需要加入这个权限: <uses-permission android:name=\"android.permission.ACCESS_NOTIFICATION_POLICY\&quo ...

  10. 透过 Go 语言探索 Linux 网络通信的本质

    前言 各种编程语言百花齐放.百家争鸣,但是 "万变不离其中".对于网络通信而言,每一种编程语言的实现方式都不一样:但其实,调用的底层逻辑都是一样的.linux 系统底层向上提供了统 ...