linux命令行操作mysql數據庫明細


連接數據庫==》

mysql -uroot -p

輸入root密碼

進入mysql操作后 下面的命令不要忘了最后結尾的;

1.選擇數據庫
命令: use <數據庫名>

2.查看表的引擎類型等狀態信息
SHOW TABLE STATUS [FROMdb_name] [LIKE 'pattern']

3.當前數據庫包含的表信息
show tables;

4.查看當前使用的數據庫
select database();

5.刪除數據庫
命令:drop database <數據庫名>;

6.顯示所有的數據庫
命令:show databases;(注意:最后有個s)

7.創建數據庫
命令:create database <數據庫名>;

8.建立表
create table <表名> (<字段名1> <類型1> [,..<字段名n> <類型n>]);
補充:根據已有的表創建新表。
8.1 create table tab_new like tab_old; (只有表結構)
8.2 create table tab_new as select * from tab_old; (既包含表結構,又包含表數據)

9.獲取表結構
命令:
desc 表名;
or
show columns from 表名;

10. 刪除表
命令:drop table <表名>;
11.更改表名
命令:rename table 原表名 to 新表名;

12.在表中增加字段
命令:alter table 表名 add 字段 類型 其他;
例如:alter table myclass add passtest int(4) default '0';

13.插入數據
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )];
例如:
insert into myclass (id, name, sex, degree, passtest) values(1, 'david', 1, 80.56, 78);
insert into myclass values(2, 'sandy', 0, 100, 90);
insert into myclass (id, name, sex, degree) values(3, 'renee', 0, 90.34);

14.導出整個數據庫
命令:mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名

15.導出一個表
命令:mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名

16.導出一個數據庫結構
命令:mysqldump -u root -p -d --add-drop-table test > test_db.sql
-d 沒有數據 --add-drop-table 在每個create 語句之前增加一個drop table

17.常用source 命令
source "路徑名"+/mytest_emp_dept.sql

show open tables;
能夠查看當前有那些表是打開的。In_use列表示有多少線程正在使用某張表,Name_locked表示表名是否被鎖,這一般發生在Drop或Rename命令操作這張表時。
所以這條命令不能幫助解答我們常見的問題:當前某張表是否有死鎖,誰擁有表上的這個鎖等。
show open tables from database;
show OPEN TABLES where In_use > 0;

SELECT * FROM information_schema.`PROCESSLIST`;
添加索引
ALTER TABLE t_cms_home ADD INDEX IDX_SID(C_SID);

查看表索引索引 
show INDEX from t_cms_home;
show keys from t_u_basic;

SHOW PROCESSLIST顯示哪些線程正在運行
show processlist;只列出前100條,如果想全列出請使用show full processlist;

查看服務器狀態。
show status like '%lock%';
日志:二進制文件記錄
show variables like 'log_bin';

記錄二進制數據的文件具體信息
show master status;

explain命令顯示了mysql如何使用索引來處理select語句以及連接表
EXPLAIN的使用方法:
在select語句前加上explain就可以了。

顯示系統變量的名稱和值
show variables;

顯示服務器所支持的不同權限
show privileges;

顯示create database 語句是否能夠創建指定的數據庫
show create database database_name;

顯示create database 語句是否能夠創建指定的數據表
show create table table_name;

顯示安裝以后可用的存儲引擎和默認引擎。
show engies;

顯示innoDB存儲引擎的狀態
show innodb status;

顯示BDB存儲引擎的日志
show logs;

顯示最后一個執行的語句所產生的錯誤、警告和通知
show warnings;

只顯示最后一個執行語句所產生的錯誤
show errors

18 說明:拷貝表(拷貝數據,源表名:a 目標表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;

19.說明:跨數據庫之間表的拷貝(具體數據使用絕對路徑) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘具體數據庫' where 條件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

20、說明:between的用法,between限制查詢數據范圍時包括了邊界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 數值1 and 數值2

21、說明:一條sql 語句搞定數據庫分頁
select top 10 b.* from (select top 20 主鍵字段,排序字段 from 表名 order by 排序字段
desc) a,表名 b where b.主鍵字段 = a.主鍵字段 order by a.排序字段

22、
select * from table1, table2 where table1.id *= table2.id -------- 
左外部連接, table1 中有的而 table2 中沒有得以 null表示 table1.id =* table2.id -------- 右外部連接

23、delete from table_name where Stockid = 3 
truncate table_name ----------- 刪除表中所有行,仍保持表的完整性  
drop table table_name --------------- 完全刪除表


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM