本文精心挑選了一系列MySQL指令碼,助你提升資料庫效率、解決常見問題,讓你的資料儲存體驗更加高效、可靠。
常用功能指令碼
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
啓動與退出
進入MySQL:啓動MySQL Command Line Client(MySQL的DOS介面),直接輸入安裝時的密碼即可。此時的提示符是:mysql>
退出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';