MySQL常用操作基本操作,以下都是MySQL5.0下測試通過首先說明下,記住在每個命令結束時加上;(分號)
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.匯入資料庫
常用source命令
進入mysql資料庫控制台,
如mysql -u root -p
mysql>use資料庫
然後使用source命令,後面參數為指令檔(如這裡用到的.sql)
mysql>source d:wcnc_db.sql
一、啟動與退出
1、進入MySQL:啟動MySQL Command Line Client(MySQL的DOS介面),直接輸入安裝時的密碼即可。此時的提示符是:mysql>
2、退出MySQL:quit或exit
二、庫操作
1、、建立資料庫
命令:create database<資料庫名>
例如:建立一個名為xhkdb的資料庫
mysql> create database xhkdb;
2、顯示所有的資料庫
命令:show databases(注意:最後有個s)
mysql>show databases;
3、刪除資料庫
命令:drop database<資料庫名>
例如:刪除名為xhkdb的資料庫
mysql>drop databasexhkdb;
4、串連資料庫
命令:use<資料庫名>
例如:如果xhkdb資料庫存在,嘗試存取它:
mysql>usexhkdb;
工具提示:Database changed
5、當前選擇(串連)的資料庫
mysql>select database();
6、當前資料庫包含的表資訊:
mysql>show tables;(注意:最後有個s)
三、表操作,操作之前應串連某個資料庫
1、建表
命令:create table<表名> ( <欄位名1> <類型1> [,..<欄位名n> <類型n>]);
mysql>create tableMyClass(
> id int(4) not nullprimary key auto_increment,
> name char(20) not null,
> sex int(4) not nulldefault'0',
> degree double(16,2));
2、擷取表結構
命令:desc表名,或者show columns from表名
mysql>DESCRIBE MyClass
mysql>descMyClass;
mysql>show columns from MyClass;
3、刪除表
命令:drop table<表名>
例如:刪除表名為MyClass的表
mysql>drop tableMyClass;
4、插入資料
命令:insert into<表名> [( <欄位名1>[,..<欄位名n > ])]values(值1 )[, (值n )]
例如,往表MyClass中插入二條記錄,這二條記錄表示:編號為1的名為Tom的成績為96.45,編號為2的名為Joan的成績為82.99,編號為3的名為Wang的成績為96.5.
mysql>insert intoMyClassvalues(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
5、查詢表中的資料
1)、查詢所有行
命令:select<欄位1,欄位2,...>from<表名>where<運算式>
例如:查看錶MyClass中所有資料
mysql> select * from MyClass;
2)、查詢前幾行資料
例如:查看錶MyClass中前2行資料
mysql>select * fromMyClassorder byidlimit0,2;
6、刪除表中資料
命令:delete from表名where運算式
例如:刪除表MyClass中編號為1的記錄
mysql>delete fromMyClasswhereid=1;
7、修改表中資料:update表名set欄位=新值,…where條件
mysql>updateMyClasssetname='Mary'whereid=1;
7、在表中增加欄位:
命令:alter table表名add欄位 類型 其他;
例如:在表MyClass中添加了一個欄位passtest,類型為int(4),預設值為0
mysql>alter tableMyClassaddpasstestint(4)default'0'
8、更改表名:
命令:rename table原表名to新表名;
例如:在表MyClass名字更改為YouClass
mysql>rename tableMyClasstoYouClass;
更新欄位內容
update表名set欄位名=新內容
update表名set欄位名= replace(欄位名,'舊內容','新內容');
文章前面加入4個空格
update article set content=concat(' ',content);
欄位類型
1.INT[(M)]型: 正常大小整數類型
2.DOUBLE[(M,D)] [ZEROFILL]型: 正常大小(雙精密)浮點數字類型
3.DATE日期類型:支援的範圍是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字串或數字把值賦給DATE列
4.CHAR(M)型:定長字串類型,當儲存時,總是是用空格填滿右邊到指定的長度
5.BLOB TEXT類型,最大長度為65535(2^16-1)個字元。
6.VARCHAR型:變長字串類型
mysql怎麼定義外鍵
建立外鍵的前提: 本表的列必須與外鍵類型相同(外鍵必須是外表主鍵)。
外鍵作用: 使兩張表形成關聯,外鍵只能引用外表中的列的值!
指定主鍵關鍵字: foreign key(列名)
引用外鍵關鍵字: references <外鍵表名>(外鍵列名)
事件觸發限制: on delete和on update , 可設參數cascade(跟隨外鍵改動), restrict(限制外表中的外鍵改動),set Null(設空值),set Default(設預設值),[預設]no action
例如:
outTable表 主鍵 id 類型 int
建立含有外鍵的表:
create table temp(
id int,
name char(20),
foreign key(id) references outTable(id) on delete cascade on update cascade);
說明:把id列 設為外鍵 參照外表outTable的id列 當外鍵的值刪除 本表中對應的列篩除 當外鍵的值改變 本表中對應的列值改變。
5.匯入資料庫表
(1)建立.sql檔案
(2)先產生一個庫如auction.c:mysqlbin>mysqladmin -u root -p creat auction,會提示輸入密碼,然後成功建立。
(2)匯入auction.sql檔案
c:mysqlbin>mysql -u root -p auction < auction.sql。
通過以上操作,就可以建立了一個資料庫auction以及其中的一個表auction。
6.修改資料庫
(1)在mysql的表中增加欄位:
alter table dbname add column userid int(11) not null primary key auto_increment;
這樣,就在表dbname中添加了一個欄位userid,類型為int(11)。
7.mysql資料庫的授權
mysql>grant select,insert,delete,create,drop
on *.* (或test.*/user.*/..)
to使用者名稱@localhost
identified by '密碼';
如:建立一個使用者帳號以便可以訪問資料庫,需要進行如下操作:
mysql> grant usage
-> ON test.*
-> TOtestuser@localhost;
Query OK, 0 rows affected (0.15 sec)
此後就建立了一個新使用者叫:testuser,這個使用者只能從localhost串連到資料庫並可以串連到test資料庫。下一步,我們必須指定testuser這個使用者可以執行哪些操作:
mysql> GRANT select, insert, delete,update
-> ON test.*
-> TOtestuser@localhost;
Query OK, 0 rows affected (0.00 sec)
此操作使testuser能夠在每一個test資料庫中的表執行SELECT,INSERT和DELETE以及UPDATE查詢操作。現在我們結束操作並退出MySQL客戶程式:
mysql> exit
Bye