前言

之前几天写了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. 3月2日,阿里云开源 PolarDB 企业级架构将迎来重磅发布

    简介:2022年3月2日,开源 PolarDB 企业级架构将迎来重磅发布!本次发布会将首次公开开源 PolarDB 的总体结构设计和企业级特性,对 PolarDB for PostgreSQL 的存储 ...

  2. [FAQ] Sortable 拖拽组件, 火狐浏览器中打开新窗口问题

      Q:用了 sortable 组件,在火狐浏览器中进行拖拽时,会打开新窗口 ? Sortable组件地址,https://github.com/SortableJS/Sortable 当前处理方式 ...

  3. [FAQ] CodeMirror5, CodeMirror6 EditorView 获取输入值和设置值的方式

      获取值: // CodeMirror5 cm.getValue() 改为使用 // CodeMirror6 cm.state.doc.toString() 设置值: // CodeMirror5 ...

  4. [Go] gorm 返回指定模型数据的处理方式

    重新 var 声明一个变量,类型为包含指定字段的结构体. 查询的时候,还是使用原始模型类型的变量. example: // For return data var retMember struct { ...

  5. OLAP系列之分析型数据库clickhouse权限控制(六)

    一.clickhouse权限管理 users.xml默认配置文件: <?xml version="1.0"?> <clickhouse> <profi ...

  6. ESP32 + IDF + LED

    一.开发板 ESP32-S3-DevKitC-1 管脚布局 由于这个程序控制比较简单,就不赘述了,直接看程序. 二.程序 #include "freertos/FreeRTOS.h" ...

  7. vue项目hbuilder打包-微信登录调取手机微信登录权限

    这个笔记得做好. 1.vue页面的点击事件 import {login,loginy,wxLog,wxLogin,logout} from '../network/login' wxloginBtn( ...

  8. linux diff求两个文件的差集

    awk 从文本中过滤出需要的ip queryId_20231109214653_ipBatchQueryResult.json {"id":0,"ip":&qu ...

  9. 传统css布局方案(position,float,line-height等配合)

    一.display display 是 css 布局中很重要的一个属性,它定义了元素生成的显示框类型,常见的几个属性值有:block.inline.inline-block.inherit.none. ...

  10. ES6常用知识点笔记

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准. 因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015(简称ES2015).虽然浏览器在不 ...