MySQL常用指令碼

數據分析那些事
10 min readJan 5, 2024

--

本文精心挑選了一系列MySQL指令碼,助你提升資料庫效率、解決常見問題,讓你的資料儲存體驗更加高效、可靠。

來源:菜鳥學Python

常用功能指令碼

1.匯出整個資料庫

mysqldump -u 使用者名稱 -p –default-character-set=latin1 資料庫名 > 匯出的檔名(資料庫預設編碼是latin1)  

mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

2.匯出一個表

mysqldump -u 使用者名稱 -p 資料庫名 表名> 匯出的檔名  

mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

3.匯出一個資料庫結構

mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql  

-d 沒有資料 –add-drop-table 在每個create語句之前增加一個drop table

4.匯入資料庫

A:常用source 命令  

進入mysql資料庫控制檯,

如mysql -u root -p

mysql>use 資料庫

然後使用source命令,後面引數為指令碼檔案(如這裡用到的.sql)

mysql>source wcnc_db.sql

B:使用mysqldump命令

mysqldump -u username -p dbname < filename.sql

C:使用mysql命令

mysql -u username -p -D dbname < filename.sql

啟動與退出

  1. 進入MySQL:啟動MySQL Command Line Client(MySQL的DOS介面),直接輸入安裝時的密碼即可。此時的提示符是:mysql>
  2. 退出MySQL:quit或exit

庫操作

1.建立資料庫

命令:create database <資料庫名>  

例如:建立一個名為sqlroad的資料庫

mysql> create database sqlroad;

2.顯示所有的資料庫

命令:show databases (注意:最後有個s)  

mysql> show databases;

3.刪除資料庫

命令:drop database <資料庫名>  

例如:刪除名為 sqlroad的資料庫

mysql> drop database sqlroad;

4.連線資料庫

命令:use <資料庫名>  

例如:如果sqlroad資料庫存在,嘗試存取它:

mysql> use sqlroad;

螢幕提示:Database changed

5.檢視當前使用的資料庫

mysql> select database();  

6.當前資料庫包含的表資訊:

mysql> show tables; (注意:最後有個s) 

表操作,操作之前應連線某個資料庫

1.建表

命令:create table <表名> ( <欄位名> <型別> [,..<欄位名n> <型別n>]);  

mysql> create table MyClass(

> id int(4) not null primary key auto_increment,

> name char(20) not null,

> sex int(4) not null default ’′,

> degree double(16,2));

2.獲取表結構

命令:desc 表名,或者show columns from 表名  

mysql>DESCRIBE MyClass

mysql> desc MyClass;

mysql> show columns from MyClass;

3.刪除表

命令:drop table <表名>  

例如:刪除表名為 MyClass 的表

mysql> drop table MyClass;

4.插入資料

命令:insert into <表名> [( <欄位名>[,..<欄位名n> ])] values ( 值 )[, ( 值n )]  

例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為的名為Tom的成績為.45, 編號為 的名為Joan 的成績為.99,編號為 的名為Wang 的成績為.5.

mysql> insert into MyClass values(1,’Tom’,96.45),(2,’Joan’,82.99), (2,’Wang’, 96.59);

5.查詢表中的資料

1)、查詢所有行  

命令:select <欄位,欄位,...> from < 表名 > where < 表示式 >

例如:檢視錶 MyClass 中所有資料

mysql> select * from MyClass;

2)、查詢前幾行資料

例如:檢視錶 MyClass 中前行資料

mysql> select * from MyClass order by id limit 0,2;

或者:

mysql> select * from MyClass limit 0,2;

6.刪除表中資料

命令:delete from 表名 where 表示式  

例如:刪除表 MyClass中編號為 的記錄

mysql> delete from MyClass where id=1;

7.修改表中資料:update 表名 set 欄位=新值,…where 條件

mysql> update MyClass set name=’Mary’where id=1;     

8.在表中增加欄位:

命令:alter table 表名 add欄位 型別 其他;  

例如:在表MyClass中添加了一個欄位passtest,型別為int(4),預設值為

mysql> alter table MyClass add passtest int(4) default ’′

9.更改表名:

命令:rename table 原表名 to 新表名;  

例如:在表MyClass名字更改為YouClass

mysql> rename table MyClass to YouClass;

更新欄位內容

update 表名 set 欄位名 = 新內容

update 表名 set 欄位名 = replace(欄位名,’舊內容’, 新內容’)

update article set content=concat(‘ ’,content);

欄位型別和資料庫操作

1.INT[(M)] 型:正常大小整數型別

2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(雙精密)浮點數字型別

3.DATE 日期型別:支援的範圍是-01–01到-12–31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字串或數字把值賦給DATE列

4.CHAR(M) 型:定長字串型別,當儲存時,總是是用空格填滿右邊到指定的長度

5.BLOB TEXT型別,最大長度為(2¹⁶-1)個字元。

6.VARCHAR型:變長字串型別

7.匯入資料庫表

建立.sql檔案  

先產生一個庫如auction.c:mysqlbin>mysqladmin -u root -p creat auction,會提示輸入密碼,然後成功建立。

匯入auction.sql檔案

c:mysqlbin>mysql -u root -p auction < auction.sql。

透過以上操作,就可以建立了一個資料庫auction以及其中的一個表auction。

8.修改資料庫

在mysql的表中增加欄位:  

alter table dbname add column userid int(11) not null primary key auto_increment;

這樣,就在表dbname中添加了一個欄位userid,型別為int(11)。

9.mysql資料庫的授權

mysql>grant select,insert,delete,create,drop  

on *.* (或test.*/user.*/..)

to 使用者名稱@localhost

identified by ‘密碼’;

如:新建一個使用者帳號以便可以訪問資料庫,需要進行如下操作:

mysql> grant usage

-> ON test.*

-> TO testuser@localhost;

Query OK, 0 rows affected (0.15 sec)

此後就建立了一個新使用者叫:testuser,這個使用者只能從localhost連線到資料庫並可以連線到test 資料庫。下一步,我們必須指定testuser這個使用者可以執行哪些操作:

mysql> GRANT select, insert, delete,update

-> ON test.*

-> TO testuser@localhost;

Query OK, 0 rows affected (0.00 sec)

此操作使testuser能夠在每一個test資料庫中的表執行SELECT,INSERT和DELETE以及UPDATE查詢操作。現在我們結束操作並退出MySQL客戶程式:

mysql> exit

DDL操作

1.使用SHOW語句找出在伺服器上當前存在什麼資料庫:

mysql> SHOW DATABASES;

2.建立一個資料庫MYSQLDATA

mysql> Create DATABASE MYSQLDATA;

3.選擇你所建立的資料庫

mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操作成功!)

4.檢視現在的資料庫中存在什麼表

mysql> SHOW TABLES;

5.建立一個資料庫表

mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6.顯示錶的結構:

mysql> DESCRIBE MYTABLE;

7.往表中加入記錄

mysql> insert into MYTABLE values (“hyq”,”M”);

8.用文字方式將資料裝入資料庫表中(例如D:/mysql.txt)

mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt”INTO TABLE MYTABLE;

9.匯入.sql檔案命令(例如D:/mysql.sql)

mysql>use database;

mysql>source d:/mysql.sql;

10.刪除表

mysql>drop TABLE MYTABLE;

11.清空表

mysql>delete from MYTABLE;

12.更新表中資料

mysql>update MYTABLE set sex=”f”where name=’hyq’;

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。各位也可以關注我的Facebook,按讚我的臉書並私訊「10」,送你十週入門數據分析電子書唷!期待你與我互動起來~

文章推薦

常用的幾個經典Python模組

都2023年了,為什麼資料孤島問題還沒解決!

MySQL必須掌握4種語言!

商業分析應該怎麼做?一篇文章把思維和工具說清楚了!

會員流入流出視覺化的最佳選擇,桑基圖!

回顧十週入門數據分析系列文:

關注數據君的臉書:

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。按贊我的臉書,會有豐富資料包贈送唷!

--

--

數據分析那些事
數據分析那些事

Written by 數據分析那些事

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/

No responses yet