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
*/ |
+-------------+-----------------------------------------------------------------
-----+
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数据库的常见操作(七)的更多相关文章

  1. 【代码学习】MYSQL数据库的常见操作

    ---恢复内容开始--- ============================== MYSQL数据库的常见操作 ============================== 一.mysql的连接与 ...

  2. 【代码总结】MYSQL数据库的常见操作

    ============================== MYSQL数据库的常见操作 ============================== 一.mysql的连接与关闭 -h:指定所连接的服 ...

  3. Flask中Mysql数据库的常见操作

    from flask import Flask,render_template #导入第三方链接库sql点金术 from flask_sqlalchemy import SQLAlchemy #建立对 ...

  4. MySQL数据库的常见操作

    1.查看所有的数据库 1 show databases; 2.创建数据库  后面的时编码格式 1 create database dbName charset='utf8'; 3.使用/切换数据库 1 ...

  5. Vc数据库编程基础MySql数据库的常见库命令.跟表操作命令

    Vc数据库编程基础MySql数据库的常见操作 一丶数据库常见的库操作 1.1查看全部数据库 命令:  show databases 1.2 创建数据库 命令: Create database 数据库名 ...

  6. 第二百七十九节,MySQL数据库-pymysql模块操作数据库

    MySQL数据库-pymysql模块操作数据库 pymysql模块是python操作数据库的一个模块 connect()创建数据库链接,参数是连接数据库需要的连接参数使用方式: 模块名称.connec ...

  7. 第二百七十八节,MySQL数据库-表内容操作

    MySQL数据库-表内容操作 1.表内容增加 insert into 表 (列名,列名...) values (值,值,值...); 添加表内容添加一条数据 insert into 表 (列名,列名. ...

  8. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  9. linux系统上Mysql数据库导入导出操作

    需求:把MySQL数据库目录中的dz数据库备份到/home/dz_bak.sql ,然后再新建一个数据库dzbak,最后把/home/dz_bak.sql 导入到数据库dzbak中.操作如下:以下操作 ...

随机推荐

  1. .net连接mysql

    首先在官网下载,mysql-connect-net,用于使用mysql的驱动程序,我在下载mysql-connect-net.msi. installer后,执行安装程序的时候一直无法安装成功,最简单 ...

  2. Cryptography I 学习笔记 --- 基于陷门置换的公钥加密

    RSA算法的工作流程 1. 生成公钥私钥 生成两个素数p和q,计算n=p*q,计算φ(n)=n-p-q+1,然后生成e与d,使 e * d = 1 mod φ(n). 然后以(n, e)作为公钥,(n ...

  3. n!在k进制下的后缀0

    问n! 转化成k进制后的位数和尾数的0的个数.[UVA 10061 How many zeros and how many digits?] Given a decimal integer numbe ...

  4. 基于ARP的网络扫描工具netdiscover

    基于ARP的网络扫描工具netdiscover   ARP是将IP地址转化物理地址的网络协议.通过该协议,可以判断某个IP地址是否被使用,从而发现网络中存活的主机.Kali Linux提供的netdi ...

  5. IE6~IE7 bugs

    本来想写一篇关于 IE bugs 的总结的,但是发现 IE 的 bugs 一般都存在IE5,IE6,IE7上,这都是很古老的浏览器.而且这些 bugs 测试起来相当麻烦,IEtester和 IE10 ...

  6. Linked List Cycle - LeetCode

    Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using ext ...

  7. Linux下创建和删除用户

    在Linux下创建用户和删除用户,必须在root用户下,如果你当前不是用根用户登录,你可以打开终端,输入"su root"命令,再输入根口令,就可以进入root用户模式下,如下所示 ...

  8. static再次深入理解

    在java中,栈中存放的是用来保存方法运行时状态的栈帧,存储了局部变量表,操作数栈等,而方法区存放的是已加载的类的基本信息.常量.静态变量等.

  9. 【hibernate】主键生成策略使用UUID报出如下警告:org.hibernate.id.UUIDHexGenerator - HHH000409: Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;

    主键生成策略使用UUID报出如警告如下: 控制台- 2017-11-24 18:40:14 [restartedMain] WARN org.hibernate.id.UUIDHexGenerator ...

  10. Android WiFi开发教程(一)——WiFi热点的创建与关闭

    相对于BlueTooth,WiFi是当今使用最广的一种无线网络传输技术, 几乎所有智能手机.平板电脑和笔记本电脑都支持Wi-Fi上网.因此,掌握基本的WiFI开发技术是非常必要的.本教程将围绕一个小D ...