数据库----库的操作(字符集、校验规则、修改数据库、删除数据库)

来源: sophia__yu 发布时间:2018-12-08 11:38:18 阅读量:936

一·:连接数据库


mysql -h 127.0.0.1 -P 3306 -u root -p

1

注:


如果没有写-h 127.0.01默认是本地连接

-p 3306 连接的端口号为3306,如果没有写默认为3306

-u root 用户是root

最后一个-p是输入密码。


二:创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,

create_specification] ...]

create_specification:

 [DEFAULT] CHARACTER SET charset_name

 [DEFAULT] COLLATE collation_name

1

2

3

4

5

大写的标识关键字

[ ]是可选项

CHARACTER SET:指定数据库采用的字符集

COLLATE :指定数据库字符集的校验规则。

例:

create database db1;

1

当创建数据库没有指定字符集和校验规则时,系统使用默认字符集:utf8,默认校验规:utf8_general_ci。


创建一个使用字符集为utf8的db2数据库:

create database db2 charset=utf8;

1

创建一个字符集为utf8,校验规则为utf8_general_ci的db3数据库:

create database db3 charset=utf8 collate utf8_general_ci;

1

字符集


查看系统默认字符集:


show variables like 'character_set_database';

1



查看系统默认校验规则;;



查看数据库支持的字符集:


show charset;

1


(没有截完)


GBK是国际编码既包含简体中文也包含繁体中文;

UTF-8:8进制UTF编码,支持所有语言。

查看数据库支持的字符集校验规则:


show collation;

1


(只截了一部分)


校验规则对数据库的影响:


校验规则使⽤utf8_ general_ ci[不区分⼤⼩写]

//创建数据库db1,校验规则为utf8_ general_ ci

create database db1 collate utf8_general_ci;


use test2;

//创建student表

create table student(name char(20));


//向表中添加值

insert into student values('a');

insert into student values('A');

insert into student values('b');

insert into student values('B');


//查询所有name为'a'的值

select * from student where name='a'; 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15



select * from student order by name;

1

按名字排序:



校验规则使⽤utf8_ bin [区分⼤⼩写]

//创建数据库db1,校验规则为utf8_bin

create database db2 collate utf8_bin;


use db2;

//创建student表

create table student(name char(20));


//向表中添加值

insert into student values('a');

insert into student values('A');

insert into student values('B');

insert into student values('b');


//查询表中值为'a'

select * from student where name='a';

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15



//对名字从小到大排序(order默认从小到大排序)

select * from student order by name;

1

2



操纵数据库


查看数据库:


show databases;

1


显示创建语句:


show create database 数据库名;

1


说明:


MySQL 建议我们关键字使⽤⼤写,但是不是必须的;

数据库名字的反引号``,是为了防⽌使⽤的数据库名刚好是关键字;

/*!40100 default… */ 这个不是注释,表示当前mysql版本⼤于4.01版本,就执⾏这句话。

修改数据库


ALTER DATABASE db_name

[alter_spacification [,alter_spacification]...]

alter_spacification:

[DEFAULT] CHARACTER SET charset_name

[DEFAULT] COLLATE collation_name

1

2

3

4

5

对数据库的修改主要是修改数据库的字符集和校验规则。

如:将数据库javacode字符集修改为gbk


数据库删除


DROP DATABASE [IF EXISTS] db_ name;

1

将数据库删除后,数据库内部看不到对应的数据库,对应的数据库文件夹被删除,级联删除,里面的数据表全部被删除。所以,删数据库的时候要慎重。

数据库备份和恢复


备份:


# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的⽂件路径

1

如:将javacode库备份到文件:


# msldum -P3306 -u root -p********  -B javacode> ./javacode.sql

1

这时javacode.sql文件包含整个数据库,表,导入的数据。

还原:


mysql> source D:/mysql-5.7.22/javacode.sql;

1

备份表(不备份整个数据库)


# mysqldump -u root -p 数据库名 表名1 表名2 > 表存放路径

1

同时备份多个数据库


# mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

1

如果备份⼀个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使⽤数据库,再使⽤source来还原。




标签: 数据库
分享:
评论:
你还没有登录,请先