前言

之前几天写了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. 流批一体生产应用!Bigo 实时计算平台建设实践

    简介: 本文由 Bigo 计算平台负责人徐帅分享,主要介绍 Bigo 实时计算平台建设实践的介绍 本文由 Bigo 计算平台负责人徐帅分享,主要介绍 Bigo 实时计算平台建设实践的介绍.内容包括: ...

  2. 阿里巴巴超大规模Kubernetes基础设施运维体系揭秘

    ​简介:ASI:Alibaba Serverless infrastructure,阿里巴巴针对云原生应用设计的统一基础设施.ASI 基于阿里云公共云容器服务 ACK之上,支撑集团应用云原生化和云产品 ...

  3. 本地已经有项目需要的所有依赖,但是maven总是会去网上下载

    情况说明本地已经有项目需要的所有依赖,但是maven总是会去网上下载,因为网络不好等原因,一直下载失败,但是本地明明就已经有依赖了.maven的settings配置 maven已经配置成自己下载的,至 ...

  4. 延迟绑定与retdlresolve

    延迟绑定与retdlresolve 我们以前在ret2libc的时候,我们泄露的libc地址是通过延迟绑定实现的,我们知道,在调用libc里面的函数时候,它会先通过plt表和gor表绑定到,函数真实地 ...

  5. 国内常用源开发环境换源(flutter换源,python换源,Linux换源,npm换源)

    国内开源镜像站点 大学 清华大学开源软件镜像站 (使用较多) 中国科学技术大学开源软件镜像 (使用较多) 浙江大学开源镜像站 (主要是各发行版Linux,pip等常用库) 哈尔滨工业大学开源镜像站 ( ...

  6. Raft 共识算法1-Raft基础

    Raft 共识算法1-Raft基础 Raft算法中译版地址:http://www.redisant.cn/etcd/contact 英原论文地址:https://raft.github.io/raft ...

  7. 如何在M1 MACBOOK上准备好ORB-SLAM2的环境

    1. 环境 M1 Macbook Air Parallels Desktop 17 关于虚拟机,在之前尝试了UTM,但是性能欠佳,卡顿情况比较多,而且未能解决联网问题,最终只能含泪放弃 Paralle ...

  8. Competition Set - AtCoder I

    这里记录的是这个账号的比赛情况. ARC172 2024-2-18 Solved:4/6 D(Hard-,2936) 给定所有数对 \((i,j),1\le i\lt j\le n\) 的一个排列 \ ...

  9. JS基础--JavaScript实例集锦(初学)

    1.子节点childNodes: <!DOCTYPE html> <html> <head> <title>childNodes</title&g ...

  10. 13年过去了,Spring官方竟然真的支持Bean的异步初始化了!

    你好呀,我是歪歪. 两年前我曾经发布过这样的一篇文章<我是真没想到,这个面试题居然从11年前就开始讨论了,而官方今年才表态.> 文章主要就是由这个面试题引起: Spring 在启动期间会做 ...