來源: sophia__yu 發(fā)布時間:2018-12-08 11:38:18 閱讀量:1073
一·:連接數(shù)據(jù)庫
mysql -h 127.0.0.1 -P 3306 -u root -p
1
注:
如果沒有寫-h 127.0.01默認(rèn)是本地連接
-p 3306 連接的端口號為3306,如果沒有寫默認(rèn)為3306
-u root 用戶是root
最后一個-p是輸入密碼。
二:創(chuàng)建數(shù)據(jù)庫
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
大寫的標(biāo)識關(guān)鍵字
[ ]是可選項
CHARACTER SET:指定數(shù)據(jù)庫采用的字符集
COLLATE :指定數(shù)據(jù)庫字符集的校驗規(guī)則。
例:
create database db1;
1
當(dāng)創(chuàng)建數(shù)據(jù)庫沒有指定字符集和校驗規(guī)則時,系統(tǒng)使用默認(rèn)字符集:utf8,默認(rèn)校驗規(guī):utf8_general_ci。
創(chuàng)建一個使用字符集為utf8的db2數(shù)據(jù)庫:
create database db2 charset=utf8;
1
創(chuàng)建一個字符集為utf8,校驗規(guī)則為utf8_general_ci的db3數(shù)據(jù)庫:
create database db3 charset=utf8 collate utf8_general_ci;
1
字符集
查看系統(tǒng)默認(rèn)字符集:
show variables like 'character_set_database';
1
查看系統(tǒng)默認(rèn)校驗規(guī)則;;
查看數(shù)據(jù)庫支持的字符集:
show charset;
1
(沒有截完)
GBK是國際編碼既包含簡體中文也包含繁體中文;
UTF-8:8進制UTF編碼,支持所有語言。
查看數(shù)據(jù)庫支持的字符集校驗規(guī)則:
show collation;
1
(只截了一部分)
校驗規(guī)則對數(shù)據(jù)庫的影響:
校驗規(guī)則使?utf8_ general_ ci[不區(qū)分??寫]
//創(chuàng)建數(shù)據(jù)庫db1,校驗規(guī)則為utf8_ general_ ci
create database db1 collate utf8_general_ci;
use test2;
//創(chuàng)建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
按名字排序:
校驗規(guī)則使?utf8_ bin [區(qū)分??寫]
//創(chuàng)建數(shù)據(jù)庫db1,校驗規(guī)則為utf8_bin
create database db2 collate utf8_bin;
use db2;
//創(chuàng)建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默認(rèn)從小到大排序)
select * from student order by name;
1
2
操縱數(shù)據(jù)庫
查看數(shù)據(jù)庫:
show databases;
1
顯示創(chuàng)建語句:
show create database 數(shù)據(jù)庫名;
1
說明:
MySQL 建議我們關(guān)鍵字使??寫,但是不是必須的;
數(shù)據(jù)庫名字的反引號``,是為了防?使?的數(shù)據(jù)庫名剛好是關(guān)鍵字;
/*!40100 default… */ 這個不是注釋,表示當(dāng)前mysql版本?于4.01版本,就執(zhí)?這句話。
修改數(shù)據(jù)庫
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
1
2
3
4
5
對數(shù)據(jù)庫的修改主要是修改數(shù)據(jù)庫的字符集和校驗規(guī)則。
如:將數(shù)據(jù)庫javacode字符集修改為gbk
數(shù)據(jù)庫刪除
DROP DATABASE [IF EXISTS] db_ name;
1
將數(shù)據(jù)庫刪除后,數(shù)據(jù)庫內(nèi)部看不到對應(yīng)的數(shù)據(jù)庫,對應(yīng)的數(shù)據(jù)庫文件夾被刪除,級聯(lián)刪除,里面的數(shù)據(jù)表全部被刪除。所以,刪數(shù)據(jù)庫的時候要慎重。
數(shù)據(jù)庫備份和恢復(fù)
備份:
# mysqldump -P3306 -u root -p 密碼 -B 數(shù)據(jù)庫名 > 數(shù)據(jù)庫備份存儲的?件路徑
1
如:將javacode庫備份到文件:
# msldum -P3306 -u root -p******** -B javacode> ./javacode.sql
1
這時javacode.sql文件包含整個數(shù)據(jù)庫,表,導(dǎo)入的數(shù)據(jù)。
還原:
mysql> source D:/mysql-5.7.22/javacode.sql;
1
備份表(不備份整個數(shù)據(jù)庫)
# mysqldump -u root -p 數(shù)據(jù)庫名 表名1 表名2 > 表存放路徑
1
同時備份多個數(shù)據(jù)庫
# mysqldump -u root -p -B 數(shù)據(jù)庫名1 數(shù)據(jù)庫名2 ... > 數(shù)據(jù)庫存放路徑
1
如果備份?個數(shù)據(jù)庫時,沒有帶上-B參數(shù), 在恢復(fù)數(shù)據(jù)庫時,需要先創(chuàng)建空數(shù)據(jù)庫,然后使?數(shù)據(jù)庫,再使?source來還原。