mysql数据库基本操作

mysql是开源的,一个非常好用的数据库,上一章给大家介绍了Navicat for MySQL来管理mysql数据库,本章给大家介绍一下数据库的基本操作。

数据库相关操作

1.创建数据库

create database basictest;

2.查看所有数据库

show databases;
结果:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| basictest          |
| dedecmsv57gbk      |
| mysql              |
| phptest            |
| test               |
|                    |
+--------------------+
8 rows in set

3.选择特定数据库

use basictest;

4.查看数据库默认编码

show variables like 'char%';
结果:

+--------------------------+----------------------------------------------------------------+
| Variable_name            | Value                                                          |
+--------------------------+----------------------------------------------------------------+
| character_set_client     | utf8                                                           |
| character_set_connection | utf8                                                           |
| character_set_database   | latin1                                                         |
| character_set_filesystem | binary                                                         |
| character_set_results    | utf8                                                           |
| character_set_server     | latin1                                                         |
| character_set_system     | utf8                                                           |
| character_sets_dir       | D:\mysoftware\DedeAMPZ\DedeAMPZ\Program\MySQL5\share\charsets\ |
+--------------------------+----------------------------------------------------------------+

如果要查看某个数据库的编码,在运行上面的命令前,应先执行use db_name;命令切换数据库(db_name为要查看的数据库名)。

查看字符的排序
show variables like 'collation%';
结果:

+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+

关于数据编码,mqsql中涉及到下面几个问题:

1、客户端发过来的数据使用什么字符集编码的?
2、接收到数据之后,应该用什么编码格式编码之后再将数据插入到mysql server中?
3、执行查询之后,查询出来的结果应该用什么编码集编码之后再返回?
4、数据库的各种表的数据,应该用什么字符集编码,以及它们用什么排序?
5.查询语句的字符串比较时,应该在哪一个标准里面来比较,比如:’Mueller’ = ‘Müller’是为真还是假?
6.数据库的各种元数据,包括表名、数据库名、密码、用户名、以及comment等,用什么字符集表示?

针对这六个问题,mysql就提供了不同的环境变量来进行跟踪,这些变量为:

变量名 含义
character_set_server 默认的内部操作字符集
character_set_client 客户端来源数据使用的字符集,也就是客户端发过来的查询语句使用的什么字符集
character_set_connection MySQL接受到用户查询后,按照character_set_client将其转化为character_set_connection设定的字符集。
character_set_results 查询结果编码的字符集
character_set_database 当前选中数据库的默认字符集
character_set_system 系统元数据(字段名等)字符集
collation_connection 执行字符比较时采用的编码规则

5.改变MySQL数据库的默认编码

安装MySQL数据库时的默认编码是latin1,实际使用时可能要使用其他编码。如果要将默认编码改为utf8:

首先修改MySQL的配置文件/etc/mysql/my.cnf:
在[client]下追加:
default-character-set=utf8
在[mysqld]下追加:
character-set-server=utf8
在[mysql]下追加:
default-character-set=utf8

修改完毕后,使用如下命令之一重启mysql服务:
service mysql restart
/etc/init.d/mysql restart

改变后,之前手工创建的数据库如未显式指定编码,则其编码仍是默认的latin1,可使用如下命令更改编码:
mysql> alter database db_name CHARACTER SET utf8;

6.mysql数据库乱码问题

解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集。
character_set_client:客户端的字符集。
character_set_results:结果字符集。
character_set_connection:连接字符集。

7.删除数据库

drop database 数据库名 ;

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注