程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql 經常使用敕令集錦(Linux/Windows)

mysql 經常使用敕令集錦(Linux/Windows)

編輯:MySQL綜合教程

mysql 經常使用敕令集錦(Linux/Windows)。本站提示廣大學習愛好者:(mysql 經常使用敕令集錦(Linux/Windows))文章只能為提供參考,不一定能成為您想要的結果。以下是mysql 經常使用敕令集錦(Linux/Windows)正文


  檢查數據庫狀況:service mysqld status

  啟動數據庫:service mysqld start

  進入數據庫:mysql -u root -p123456;

  列出數據庫:show databases;

  選擇數據庫:use databaseName;

  列出表格:show tables;

  顯示表格列的屬性:show columns from tableName;

  樹立數據庫:source fileName.txt;

  婚配字符:可以用通配符_代表任何一個字符,%代表任何字符串;

  增長一個字段:alter table tabelName add column fieldName dateType;

  增長多個字段:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType;

  多行敕令輸出:留意不克不及將單詞斷開;當拔出或更改數據時,不克不及將字段的字符串睜開到多行裡,不然硬回車將被貯存到數據中;

  增長一個治理員帳戶:grant all on *.* to user@localhost identified by "password";

  每條語句輸出終了後要在末尾填加分號';',或許填加'\g'也能夠;

  查詢時光:select now();

  查詢以後用戶:select user();

  查詢數據庫版本:select version();

  查詢以後應用的數據庫:select database();

  1、刪除student_course數據庫中的students數據表:

rm -f student_course/students.*

  2、備份數據庫:(將數據庫test備份)

 mysqldump -u root -p test>c:\test.txt

  備份表格:(備份test數據庫下的mytable表格)

 mysqldump -u root -p test mytable>c:\test.txt

  將備份數據導入到數據庫:(導回test數據庫)

 mysql -u root -p test

  3、創立暫時表:(樹立暫時表zengchao)

 create temporary table zengchao(name varchar(10));

  4、創立表是先斷定表能否存在

 create table if not exists students(……);

  5、從曾經有的表中復制表的構造

 create table table2 select * from table1 where 1<>1;

  6、復制表

 create table table2 select * from table1;

  7、對表從新定名

 alter table table1 rename as table2;

  8、修正列的類型

 alter table table1 modify id int unsigned;//修正列id的類型為int unsigned

 alter table table1 change id sid int unsigned;//修正列id的名字為sid,並且把屬性修正為int unsigned

  9、創立索引

 alter table table1 add index ind_id (id);

 create index ind_id on table1 (id);

 create unique index ind_id on table1 (id);//樹立獨一性索引

  10、刪除索引

 drop index idx_id on table1;

 alter table table1 drop index ind_id;

  11、結合字符或許多個列(將列id與":"和列name和"="銜接)

 select concat(id,':',name,'=') from students;

  12、limit(選出10到20條)<第一個記載集的編號是0>

 select * from students order by id limit 9,10;

  13、MySQL不支撐的功效

  事務,視圖,外鍵和援用完全性,存儲進程和觸發器

14、MySQL會應用索引的操作符號

  <,<=,>=,>,=,between,in,不帶%或許_開首的like

  15、應用索引的缺陷

  1)減慢增刪改數據的速度;

  2)占用磁盤空間;

  3)增長查詢優化器的累贅;

  當查詢優化器生成履行籌劃時,會斟酌索引,太多的索引會給查詢優化器增長任務量,招致沒法選擇最優的查詢計劃;

  16、剖析索引效力

  辦法:在普通的SQL語句前加上explain;

  剖析成果的寄義:

  1)table:表名;

  2)type:銜接的類型,(ALL/Range/Ref)。個中ref是最幻想的;

  3)possible_keys:查詢可以應用的索引名;

  4)key:現實應用的索引;

  5)key_len:索引中被應用部門的長度(字節);

  6)ref:顯示列名字或許"const"(不明確甚麼意思);

  7)rows:顯示MySQL以為在找到准確成果之前必需掃描的行數;

  8)extra:MySQL的建議;

  17、應用較短的定長列

  1)盡量應用較短的數據類型;

  2)盡量應用定長數據類型;

  a)用char取代varchar,固定長度的數據處置比變長的快些;

  b)關於頻仍修正的表,磁盤輕易構成碎片,從而影響數據庫的全體機能;

  c)萬一湧現數據表瓦解,應用固定長度數據行的表更輕易從新結構。應用固定長度的數據行,每一個記載的開端地位都是固定記載長度的倍數,可以很輕易被檢測到,然則應用可變長度的數據行就紛歧定了;

  d)關於MyISAM類型的數據表,固然轉換成固定長度的數據列可以進步機能,然則占領的空間也年夜;

  18、應用not null和enum

  盡可能將列界說為not null,如許可以使數據的出來更快,所需的空間更少,並且在查詢時,MySQL不須要檢討能否存在特例,即null值,從而優化查詢;

  假如一列只含有無限數量的特定值,如性別,能否有用或許退學年份等,在這類情形下應當斟酌將其轉換為enum列的值,MySQL處置的更快,由於一切的enum值在體系內都是以標識數值來表現的;

  19、應用optimize table

  關於常常修正的表,輕易發生碎片,使在查詢數據庫時必需讀取更多的磁盤塊,下降查詢機能。具有可變長的表都存在磁盤碎片成績,這個成績對blob數據類型更加凸起,由於其尺寸變更異常年夜。可以經由過程應用optimize table來整頓碎片,包管數據庫機能不降低,優化那些受碎片影響的數據表。 optimize table可以用於MyISAM和BDB類型的數據表。現實上任何碎片整頓辦法都是用mysqldump來轉存數據表,然後應用轉存後的文件偏重新建數據表;

  20、應用procedure analyse()

  可使用procedure analyse()顯示最好類型的建議,應用很簡略,在select語句前面加上procedure analyse()便可以了;例如:

 select * from students procedure analyse();

 select * from students procedure analyse(16,256);

  第二條語句請求procedure analyse()不要建議含有多於16個值,或許含有多於256字節的enum類型,假如沒無限制,輸入能夠會很長;

  21、應用查詢緩存

  1)查詢緩存的任務方法:

  第一次履行某條select語句時,辦事器記住該查詢的文本內容和查詢成果,存儲在緩存中,下次碰著這個語句時,直接從緩存中前往成果;當更新數據表後,該數據表的任何緩存查詢都釀成有效的,而且會被拋棄。

  2)設置裝備擺設緩存參數:

  變量:query_cache _type,查詢緩存的操作形式。有3中形式,0:不緩存;1:緩存查詢,除非與 select sql_no_cache開首;2:依據須要只緩存那些以select sql_cache開首的查詢; query_cache_size:設置查詢緩存的最年夜成果集的年夜小,比這個值年夜的不會被緩存。

  22、調劑硬件

  1)在機械上裝更多的內存;

  2)增長更快的硬盤以削減I/O期待時光;

  尋道時光是決議機能的重要身分,逐字地挪動磁頭是最慢的,一旦磁頭定位,從磁道讀則很快;

  3)在分歧的物理硬盤裝備上從新分派磁盤運動;

  假如能夠,應將最忙碌的數據庫寄存在分歧的物理裝備上,這跟應用統一物理裝備的分歧分區是分歧的,由於它們將爭用雷同的物理資本(磁頭)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved