MySQL數(shù)據(jù)庫(kù)基礎(chǔ)講解

簡(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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容