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

鏈接數據庫==》mysql

mysql -uroot -psql

輸入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;spa

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

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

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

2三、delete from table_name where Stockid = 3 
truncate table_name ----------- 刪除表中全部行,仍保持表的完整性  
drop table table_name --------------- 徹底刪除表orm

相關文章
相關標籤/搜索