MySQL数据库的常见操作(七)
MySQL数据库的常见操作
1、创建数据库
2、创建重名的数据库以及如何查看警告信息
3、设置数据库的编码方式(默认为utf8)
4、修改和查看数据库的编码方式
5、删除数据库
6、6、删除已经删除了的数据库
1、创建数据库

花括号代表必须是要有的,中括号代表是可有可不有,竖线是代表选择,即是从花括号里选择。
这里的查询和我们后面学习的查找,是两个截然不同的概念。
一行被影响,当我们把数据库创建成功之后,它要把我们数据库创建成功的结果,要放到系统数据库里,所以出现一行被影响。


mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.05 sec)
mysql> create database dajiangtai;
Query OK, 1 row affected (0.04 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| dajiangtai |
| mysql |
| test |
+--------------------+
4 rows in set (0.01 sec)
mysql>
2、创建重名的数据库以及如何查看警告信息


mysql> create database dajiangtai;
ERROR 1007 (HY000): Can't create database 'dajiangtai'; database exists
mysql> create database if not exists dajiangtai;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show warnings;
+-------+------+-----------------------------------------------------+
| Level | Code | Message |
+-------+------+-----------------------------------------------------+
| Note | 1007 | Can't create database 'dajiangtai'; database exists |
+-------+------+-----------------------------------------------------+
1 row in set (0.00 sec)
mysql>
我们可以看到警告级别是Note,警告信息还是我们之前看到的那个信息。
只是说,用了 if not exists 不会把错误信息直接反馈到客户端而已。默认的编码方式,是配置文件my.ini里的
查看某数据库的编码方式是什么?

mysql> show create database dajiangtai;
+------------+-----------------------------------------------------------------
-----+
| Database | Create Database
|
+------------+-----------------------------------------------------------------
-----+
| dajiangtai | CREATE DATABASE `dajiangtai` /*!40100 DEFAULT CHARACTER SET latin
1 */ |
+------------+-----------------------------------------------------------------
-----+
1 row in set (0.00 sec)
mysql>
这条指令的意思是,数据库创建时所使用的指令是什么。可以看到数据库名称是dajiangtai,但是,编码方式是默认的latin1。
MySQL5.7版本
[client]下添加
default-character-set=utf8
[mysqld]下添加
character-set-server=utf8
如果不这样改,会导致5.7版本mysql无法打开。不信你试试
MySQL5.5版本
[client]下添加
default-character-set=utf8
[mysqld]下添加
default-character-set=utf8
MySQL5.1版本
[client]下添加
default-character-set=utf8
[mysqld]下添加
character-set-server=utf8
重启MySQL生效即可。
3、设置数据库的编码方式(默认为utf8)

mysql> create database if not exists dajiangtai character set utf8;
Query OK, 1 row affected (0.05 sec)
mysql> show create database dajiangtai;
+------------+-----------------------------------------------------------------
---+
| Database | Create Database
|
+------------+-----------------------------------------------------------------
---+
| dajiangtai | CREATE DATABASE `dajiangtai` /*!40100 DEFAULT CHARACTER SET utf8
*/ |
+------------+-----------------------------------------------------------------
---+
1 row in set (0.00 sec)
mysql>

mysql> create database if not exists dajiangtai2 character set gbk;
Query OK, 1 row affected (0.01 sec)
mysql> show create database dajiangtai2;
+-------------+----------------------------------------------------------------
----+
| Database | Create Database
|
+-------------+----------------------------------------------------------------
----+
| dajiangtai2 | CREATE DATABASE `dajiangtai2` /*!40100 DEFAULT CHARACTER SET gbk
*/ |
+-------------+----------------------------------------------------------------
----+
1 row in set (0.00 sec)
mysql>
这里注意,以后随着我们的业务和数据增加,比如,dajiangtai2这个数据库,在创建时编码方式没注意,比如已经是gbk编码方式了,那么,我们不要想当时删除dajiangtai2这个数据库,再来重新创建,这是一笔非常大的损失。
那么,我们如何在不丢失这些数据记录的基础上,怎么把编程方式由原来的gbk为uft8?
4、修改和查看数据库的编码方式

mysql> alter database dajiangtai2 character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> show create database dajiangtai2;
+-------------+-----------------------------------------------------------------
-----+
| Database | Create Database
|
+-------------+-----------------------------------------------------------------
-----+
| dajiangtai2 | CREATE DATABASE `dajiangtai2` /*!40100 DEFAULT CHARACTER SET utf
8 */ |
+-------------+-----------------------------------------------------------------
-----+
1 row in set (0.00 sec)
mysql>
5、删除数据库


mysql> drop database dajiangtai;
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| dajiangtai2 |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql>
6、删除已经删除了的数据库


mysql> drop database dajiangtai;
ERROR 1008 (HY000): Can't drop database 'dajiangtai'; database doesn't exist
mysql> drop database if exists dajiangtai;
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql>
MySQL数据库的常见操作(七)的更多相关文章
- 【代码学习】MYSQL数据库的常见操作
---恢复内容开始--- ============================== MYSQL数据库的常见操作 ============================== 一.mysql的连接与 ...
- 【代码总结】MYSQL数据库的常见操作
============================== MYSQL数据库的常见操作 ============================== 一.mysql的连接与关闭 -h:指定所连接的服 ...
- Flask中Mysql数据库的常见操作
from flask import Flask,render_template #导入第三方链接库sql点金术 from flask_sqlalchemy import SQLAlchemy #建立对 ...
- MySQL数据库的常见操作
1.查看所有的数据库 1 show databases; 2.创建数据库 后面的时编码格式 1 create database dbName charset='utf8'; 3.使用/切换数据库 1 ...
- Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令
Vc数据库编程基础MySql数据库的常见操作 一丶数据库常见的库操作 1.1查看全部数据库 命令: show databases 1.2 创建数据库 命令: Create database 数据库名 ...
- 第二百七十九节,MySQL数据库-pymysql模块操作数据库
MySQL数据库-pymysql模块操作数据库 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数使用方式: 模块名称.connec ...
- 第二百七十八节,MySQL数据库-表内容操作
MySQL数据库-表内容操作 1.表内容增加 insert into 表 (列名,列名...) values (值,值,值...); 添加表内容添加一条数据 insert into 表 (列名,列名. ...
- python操作mysql数据库的相关操作实例
python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...
- linux系统上Mysql数据库导入导出操作
需求:把MySQL数据库目录中的dz数据库备份到/home/dz_bak.sql ,然后再新建一个数据库dzbak,最后把/home/dz_bak.sql 导入到数据库dzbak中.操作如下:以下操作 ...
随机推荐
- PE笔记之DOS头
IMAGE_DOS_HEADER STRUCT { +0h WORD e_magic // Magic DOS signature MZ(4Dh 5Ah) DOS可执行文件标记 +2h ...
- 常用 vim 命令总结
学习 vim ,是需要经常使用的,而这些命令,是我这段时间最常用的命令,很有效率的提高的我的文本编辑效率.----------------------------------------------- ...
- SQL存储过程基础
什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译, ...
- Linux 环境下安装配置 TigerVNC Server 并启用当前会话远程服务(X0VNC)
曾经喜欢用 RealVNC Server 实现 Linux/Windows 的远程控制,因为 RealVNC 为收费商业软件,支持文件传输,性能优化方面也做得不错.但 RealVNC 从 5.0 版本 ...
- AC日记——最高奖励 51nod 1163
最高的奖励 思路: 排序: 时间为第一关键字,按总小到大排: 价值为第二关键字,按从大到小排: 然后,不难看出,如果两个时间不同: 那么,两个时间之间最少能做一件事: 因为他们的时间下限最少相差1: ...
- 调用Thread.interrupt()方法到底会发生什么?
1. 当线程处于Blocked状态(sleep,wait,join),线程会退出阻塞状态,并抛出一个InterruptedException.park除外,它有响应但是不会抛出异常 2. 当线程处于R ...
- Codeforces 147B Smile House(DP预处理 + 倍增)
题目链接 Smile House 题意 给定一个$n$个点的有向图,求一个点数最少的环,使得边权之和$>0$,这里的环可以重复经过点和边. 满足 $n <= 300$ 首先答案肯 ...
- ZFS -世界上最高级的文件系统之一
https://www.oschina.net/news/44302/openzfs_launch_announcement https://en.wikipedia.org/wiki/ZFS ZFS ...
- 聊聊、Zookeeper 客户端 Curator
[Curator] 和 ZkClient 一样,Curator 也是开源客户端,Curator 是 Netflix 公司开源的一套框架. <dependency> <groupI ...
- git——简易指南
Git对于我来说,只知道是一个版本控制器,类似于乌龟的svn.其中也仅仅会几个常的命令,比如说“更新git pull”.“提交git push”等等,因为记得当初使用的时候,师傅告诉我,对于你不懂这个 ...