linux下mysql常用命令
Linux下mysql命令是經(jīng)常需要用到的命令之一,下面由學習啦小編為大家整理了linux下mysql常用命令的相關知識,希望對大家有幫助!
linux的mysql常用命令詳解
linux下mysql常用命令一、數(shù)據(jù)的導入和導出
1.導出整個數(shù)據(jù)庫
mysqldump -u 用戶名 -p --default-character-set=latin1 數(shù)據(jù)庫名 > 導出的
文件名(數(shù)據(jù)庫默認編碼是latin1)
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導出一個數(shù)據(jù)庫結構
mysqldump -u wcnc -p -d -add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有數(shù)據(jù) -add-drop-table 在每個create語句之前增加一個drop table
4.導入數(shù)據(jù)庫
A:常用source 命令
進入mysql數(shù)據(jù)庫控制臺,
如mysql -u root -p
mysql>use 數(shù)據(jù)庫
然后使用source命令,后面參數(shù)為腳本文件(如這里用到的.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
linux下mysql常用命令二、啟動與退出
1、進入MySQL:啟動MySQL Command Line Client(MySQL的DOS界面),直接輸入
安裝時的密碼即可。此時的提示符是:mysql>
2、退出MySQL:quit或exit
linux下mysql常用命令三、庫操作
1、、創(chuàng)建數(shù)據(jù)庫
命令:create database <數(shù)據(jù)庫名>
例如:建立一個名為xhkdb的數(shù)據(jù)庫
mysql> create database xhkdb;
2、顯示所有的數(shù)據(jù)庫
命令:show databases (注意:最后有個s)
mysql> show databases;
3、刪除數(shù)據(jù)庫
命令:drop database <數(shù)據(jù)庫名>
例如:刪除名為 xhkdb的數(shù)據(jù)庫
mysql> drop database xhkdb;
4、連接數(shù)據(jù)庫
命令: use <數(shù)據(jù)庫名>
例如:如果xhkdb數(shù)據(jù)庫存在,嘗試存取它:
mysql> use xhkdb;
屏幕提示:Database changed
5、查看當前使用的數(shù)據(jù)庫
mysql> select database();
6、當前數(shù)據(jù)庫包含的表信息:
mysql> show tables; (注意:最后有個s)
linux下mysql常用命令四、表操作,操作之前應連接某個數(shù)據(jù)庫
1、建表
命令:create table <表名> ( <字段名1> <類型1> [,..<字段名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 '0',
> 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、插入數(shù)據(jù)
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[,
( 值n )]
例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為1的名為Tom的成績
為96.45, 編號為2 的名為Joan 的成績?yōu)?2.99,編號為3 的名為Wang 的成績?yōu)?/p>
96.5.
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99),
(2,'Wang', 96.59);
5、查詢表中的數(shù)據(jù)
1)、查詢所有行
命令: select <字段1,字段2,...> from < 表名 > where < 表達式 >
例如:查看表 MyClass 中所有數(shù)據(jù)
mysql> select * from MyClass;
2)、查詢前幾行數(shù)據(jù)
例如:查看表 MyClass 中前2行數(shù)據(jù)
mysql> select * from MyClass order by id limit 0,2;
或者:
mysql> select * from MyClass limit 0,2;
6、刪除表中數(shù)據(jù)
命令:delete from 表名 where 表達式
例如:刪除表 MyClass中編號為1 的記錄
mysql> delete from MyClass where id=1;
7、修改表中數(shù)據(jù):update 表名 set 字段=新值,… where 條件
mysql> update MyClass set name='Mary' where id=1;
7、在表中增加字段:
命令:alter table 表名 add字段 類型 其他;
例如:在表MyClass中添加了一個字段passtest,類型為int(4),默認值為0
mysql> alter table MyClass add passtest int(4) default '0'
8、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql> rename table MyClass to YouClass;
更新字段內(nèi)容
update 表名 set 字段名 = 新內(nèi)容
update 表名 set 字段名 = replace(字段名,'舊內(nèi)容','新內(nèi)容');
文章前面加入4個空格
update article set content=concat(' ',content);
字段類型
1.INT[(M)] 型: 正常大小整數(shù)類型
2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(雙精密)浮點數(shù)字類型
3.DATE 日期類型:支持的范圍是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD
格式來顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列
4.CHAR(M) 型:定長字符串類型,當存儲時,總是是用空格填滿右邊到指定的長
度
5.BLOB TEXT類型,最大長度為65535(2^16-1)個字符。
6.VARCHAR型:變長字符串類型
5.導入數(shù)據(jù)庫表
(1)創(chuàng)建.sql文件
(2)先產(chǎn)生一個庫如auction.c:mysqlbin>mysqladmin -u root -p creat
auction,會提示輸入密碼,然后成功創(chuàng)建。
(2)導入auction.sql文件
c:mysqlbin>mysql -u root -p auction < auction.sql。
通過以上操作,就可以創(chuàng)建了一個數(shù)據(jù)庫auction以及其中的一個表auction
。
6.修改數(shù)據(jù)庫
(1)在mysql的表中增加字段:
alter table dbname add column userid int(11) not null primary key
auto_increment;
這樣,就在表dbname中添加了一個字段userid,類型為int(11)。
7.mysql數(shù)據(jù)庫的授權
mysql>grant select,insert,delete,create,drop
on *.* (或test.*/user.*/..)
to 用戶名@localhost
identified by '密碼';
如:新建一個用戶帳號以便可以訪問數(shù)據(jù)庫,需要進行如下操作:
mysql> grant usage
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.15 sec)
此后就創(chuàng)建了一個新用戶叫:testuser,這個用戶只能從localhost連接到數(shù)
據(jù)庫并可以連接到test 數(shù)據(jù)庫。下一步,我們必須指定testuser這個用戶可以執(zhí)
行哪些操作:
mysql> GRANT select, insert, delete,update
-> ON test.*
-> TO testuser@localhost;
Query OK, 0 rows affected (0.00 sec)
此操作使testuser能夠在每一個test數(shù)據(jù)庫中的表執(zhí)行Select,Insert和
Delete以及Update查詢操作。現(xiàn)在我們結束操作并退出MySQL客戶程序:
mysql> exit
Bye9!
1:使用SHOW語句找出在服務器上當前存在什么數(shù)據(jù)庫:
mysql> SHOW DATABASES;
2:2、創(chuàng)建一個數(shù)據(jù)庫MYSQLDATA
mysql> Create DATABASE MYSQLDATA;
3:選擇你所創(chuàng)建的數(shù)據(jù)庫
mysql> USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed 時說明操作成功!)
4:查看現(xiàn)在的數(shù)據(jù)庫中存在什么表
mysql> SHOW TABLES;
5:創(chuàng)建一個數(shù)據(jù)庫表
mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:顯示表的結構:
mysql> DESCRIBE MYTABLE;
7:往表中加入記錄
mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫表中(例如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:更新表中數(shù)據(jù)
mysql>update MYTABLE set sex="f" where name='hyq';