簡(jiǎn)介
MySQL是一種開(kāi)放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言(SQL)進(jìn)行數(shù)據(jù)庫(kù)管理。
MySQL是開(kāi)放源代碼的,因此任何人都可以在General Public License的許可證之下下載并根據(jù)個(gè)性化的需要對(duì)其進(jìn)行修改。
MySQL因?yàn)槠渌俣取⒖煽啃院瓦m應(yīng)性而備受關(guān)注。大多數(shù)人都認(rèn)為在不需要事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇。
數(shù)據(jù)庫(kù)安裝教程
Mysql數(shù)據(jù)庫(kù)安裝語(yǔ)句
1.sudo apt-get install mysql-server
2.sudo apt-get install mysql-client
3.sudo apt-get install libmysqlclient-dev
mysql是否安裝成功:
sudo netstat -tap | grep mysql
或者
sudo ss -tap | grep mysql?
基礎(chǔ)知識(shí)
一、數(shù)據(jù)庫(kù)連接方式
格式: mysql -h 主機(jī)地址 -u 用戶名 -p 用戶密碼
找到mysql的安裝目錄,一般可以直接鍵入命令mysql -uroot -p,回車(chē)后提示你輸密碼,如果剛安裝好mysql,root是沒(méi)有密碼的,故直接回車(chē)即可進(jìn)入到MySQL中,MySQL的提示符是:mysql>
二、MySQL數(shù)據(jù)庫(kù)啟停
#啟動(dòng)數(shù)據(jù)庫(kù)
service mysql start
#停止數(shù)據(jù)庫(kù)
service mysql stop
重啟數(shù)據(jù)庫(kù)
service mysql restart
三、MySQL數(shù)據(jù)庫(kù)密碼修改
1、更改密碼
mysql -uroot -p
Enter password: *****
mysql> use mysql; #選擇數(shù)據(jù)庫(kù)
Database changed
mysql> UPDATE user SET password=PASSWORD("新密碼") WHERE user='用戶名';
#update user set authentication_string=password("新密碼") where user='用戶名';
mysql> FLUSH PRIVILEGES; #flush privileges
mysql> quit;
2、更改用戶名
mysql -uroot -p
Enter password: *****
mysql> use mysql; #選擇數(shù)據(jù)庫(kù)
Database changed
mysql> update user set user="新用戶名" where user="root"; #將用戶名為root的用戶的用戶名改為新用戶名
mysql> flush privileges; #刷新權(quán)限
mysql>exit;
四、數(shù)據(jù)庫(kù)備份
1、mysqldump工具備份
mysqldump -u root -h host -p dbname > backup.sql
1
常見(jiàn)選項(xiàng) 作用
-u 用戶名
-p 密碼
-P 端口號(hào),默認(rèn)為3306
-all-databases,-A 備份所有數(shù)據(jù)庫(kù)
-databases,-B 用于備份多個(gè)數(shù)據(jù)庫(kù),如果沒(méi)有該選項(xiàng),mysqldump把第一個(gè)名字參數(shù)作為數(shù)據(jù)庫(kù)名,后面的作為表名。使用該選項(xiàng),mysqldump把每一個(gè)名字都當(dāng)作為數(shù)據(jù)庫(kù)名。
-d 只導(dǎo)出數(shù)據(jù)庫(kù)的表結(jié)構(gòu)
-t 只導(dǎo)出數(shù)據(jù)庫(kù)的數(shù)據(jù)
–quick,-q 快速導(dǎo)出
–xml,-X 導(dǎo)出為xml文件
常見(jiàn)用法
#1、備份全部數(shù)據(jù)庫(kù)的數(shù)據(jù)和結(jié)構(gòu)(-A)
mysqldump -uroot -p123456 -A > backup.sql
#2、備份全部數(shù)據(jù)庫(kù)的結(jié)構(gòu)(-d)
mysqldump -uroot -p123456 -P3306 -A -d > backup.sql
#3、備份全部數(shù)據(jù)庫(kù)的數(shù)據(jù)(-t)
mysqldump -uroot -p123456 -P3306 -A -t > backup.sql
#4、備份單個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)和結(jié)構(gòu)(database為數(shù)據(jù)庫(kù)名)
mysqldump -uroot -p123456 -P3306 database > backup.sql
#5、備份單個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)(-d)
mysqldump -uroot -p123456 -P3306 database -d > backup.sql
#6、備份單個(gè)數(shù)據(jù)庫(kù)數(shù)據(jù)(-t)
mysqldump -uroot -p123456 -P3306 database -t > backup.sql
#7、備份多個(gè)表的結(jié)構(gòu)和數(shù)據(jù)(table1,table2為表名)
mysqldump -uroot -p123456 -P3306 database table1 table2 > backup.sql
#8、一次備份多個(gè)數(shù)據(jù)庫(kù)
mysqldump -uroot -p123456 --databases db1 db2 > backup.sql
五、 數(shù)據(jù)庫(kù)還原
1、系統(tǒng)命令行
mysqldump -uroot -p test < backup.sql #絕對(duì)路徑
Enter password:123456
Test:需要備份的數(shù)據(jù)庫(kù)
Test:備份的名稱
2、source方法
mysql> use db
mysql> source backup.sql #絕對(duì)路徑
數(shù)據(jù)庫(kù)增刪改查
1、操作數(shù)據(jù)庫(kù)
(1)對(duì)數(shù)據(jù)庫(kù)(文件夾):進(jìn)行增加操作
create database 庫(kù)名;
例如:create database test;
查詢庫(kù):show databases;
(2)對(duì)數(shù)據(jù)庫(kù)(文件夾):進(jìn)行刪除操作
drop database 庫(kù)名;
例如:drop database test;
(3)對(duì)數(shù)據(jù)庫(kù)(文件夾):進(jìn)行改操作
#更改數(shù)據(jù)庫(kù)字符集
alter database 庫(kù)名 charset 編碼集;
例如: alter database test charset gbk;
(4)對(duì)數(shù)據(jù)庫(kù)(文件夾):進(jìn)行查操作
查看建庫(kù)信息:show create database 庫(kù)名;
例如:show create database test;
2、操作表
(1)對(duì)表(文件):進(jìn)行增加操作
create table user (id int,name char(10);
查詢:show tables;
(2)對(duì)表(文件):進(jìn)行刪除操作
drop table 表名;
例如:drop table user;
show tables;
(3)對(duì)表(文件):進(jìn)行改操作
alter table 表名 modify 字段名 數(shù)據(jù)類(lèi)型;
#更改字段名和數(shù)據(jù)類(lèi)型change
alter table 表名 change 字段名 新字段名 數(shù)據(jù)類(lèi)型;
#更改表名rename
alter table 表名 rename 新表名;
#增加字段add
alter table 表名 add 新字段名 數(shù)據(jù)類(lèi)型;
#刪除字段drop
alter table 表名 drop 字段名;
(4)對(duì)表(文件):進(jìn)行查操作
#查看建表語(yǔ)句:
show create table 表名;
#查看表結(jié)構(gòu)
desc 表名;
3、操作記錄
(1)對(duì)記錄(文件內(nèi)容):進(jìn)行增加操作:
INSERT INTO table_name(可指定字段,也可以不指定字段但是要與之對(duì)應(yīng)) values('value1','value2','value3');
(2)對(duì)記錄(文件內(nèi)容):進(jìn)行刪除操作
#delete 清除數(shù)據(jù)但是保留id號(hào)
delete from 表名;(此時(shí)若是在insert id會(huì)接續(xù)之前的id號(hào)往下排,也可以自己指定id)
例如 delete from users;
查詢 select * from users;
結(jié)果 Empty set (0.00 sec)
插入 insert into users values('null','admin','admin');
再次查詢 select * from users;
# turncate 清除數(shù)據(jù)不保留id號(hào)
(3)對(duì)記錄(文件內(nèi)容):進(jìn)行改操作:
update users set username="test" where id = 1;
update table 表名 set 字段=值 where 條件;(要加條件否則字段的值會(huì)全部改變)
or
update 庫(kù)名.表名 set 字段=值 where 條件;
update users.name set name='test' where id = 1;
(4)對(duì)記錄(文件內(nèi)容):進(jìn)行查操作:
select * from table_name;
select * from db_name.table_name;
至此,MySQL數(shù)據(jù)庫(kù)基礎(chǔ)講解就到這里了,寫(xiě)作不易,還望支持。
2020-03-03
ro4lsc