1. 程式人生 > >LINUX通過命令列操作MYSQL

LINUX通過命令列操作MYSQL

  啟動:service mysqld start;
  進入:mysql -u root -p/mysql -h localhost -u root -p databaseName;
  列出資料庫:show databases;
 建立資料庫:create database XXXXX;
  選擇資料庫: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 
[email protected]
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
<h1 class="postTitle" style="margin:0px; padding:0px 0px 0px 5px; float:left; line-height:1.5; width:1005.566650390625px; clear:both; font-size:14px; font-family:Verdana,Arial,Helvetica,sans-serif; background-color:rgb(254,254,242)"><a target=_blank id="cb_post_title_url" class="postTitle2" href="http://www.cnblogs.com/zgqys1980/archive/2009/07/27/1532234.html" style="margin:0px; padding:0px; color:rgb(7,93,179); text-decoration:none">mysql匯入匯出.sql檔案備份還原資料庫</a></h1><div class="postBody" style="margin:5px 0px 0px; padding:5px 2px 5px 5px; line-height:1.5; font-size:13px; font-family:Verdana,Arial,Helvetica,sans-serif; background-color:rgb(254,254,242)"><div id="cnblogs_post_body" style="margin:0px; padding:0px; word-break:normal!important"><p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.5">步驟:<br style="margin:0px; padding:0px" />一.MYSQL的命令列模式的設定:<br style="margin:0px; padding:0px" />桌面->我的電腦->屬性->環境變數->新建->PATH=";path/mysql/bin;"  其中path為MYSQL的安裝路徑。<br style="margin:0px; padding:0px" />二.命令列進入MYSQL的方法:<br style="margin:0px; padding:0px" />1.C:\>mysql -h hostname -u username -p<br style="margin:0px; padding:0px" />按ENTER鍵,等待然後輸入密碼,這裡hostname為伺服器的名稱,如localhost,username為MYSQL的使用者名稱,如root.進入命令列就可以直接操作MYSQL了。<br style="margin:0px; padding:0px" />三.從資料庫匯出資料庫檔案:<br style="margin:0px; padding:0px" />1.將資料庫mydb匯出到e:\mysql\mydb.sql檔案中:<br style="margin:0px; padding:0px" />開啟開始->執行->輸入cmd進入命令列模式<br style="margin:0px; padding:0px" />c:\>mysqldump -h localhost -u root -p mydb >e:\mysql\mydb.sql<br style="margin:0px; padding:0px" />然後輸入密碼,等待一會匯出就成功了,可以到目標檔案中檢查是否成功。<br style="margin:0px; padding:0px" />2.將資料庫mydb中的mytable匯出到e:\mysql\mytable.sql檔案中:<br style="margin:0px; padding:0px" />c:\>mysqldump -h localhost -u root -p mydb mytable >e:\mysql\mytable.sql<br style="margin:0px; padding:0px" />3.將資料庫mydb的結構匯出到e:\mysql\mydb_stru.sql檔案中:<br style="margin:0px; padding:0px" />c:\>mysqldump -h localhost -u root -p mydb --add-drop-table >e:\mysql\mydb_stru.sql<br style="margin:0px; padding:0px" />//-h localhost可以省略,其一般在虛擬主機上用<br style="margin:0px; padding:0px" />四.從外部檔案匯入資料到資料庫:<br style="margin:0px; padding:0px" />從e:\mysql\mydb2.sql中將檔案中的SQL語句匯入資料庫中:<br style="margin:0px; padding:0px" />c:\>mysql -h localhost -u root -p mydb2 <e:\mysql\mydb2.sql<br style="margin:0px; padding:0px" />然後輸入密碼,就OK了<br style="margin:0px; padding:0px" />五.關於匯入檔案大小限制問題的解決:<br style="margin:0px; padding:0px" />預設情況下:mysql對匯入的檔案大小有限制的,最大為2M,所以當檔案很大時,直接無法匯入,解決列舉如下:<br style="margin:0px; padding:0px" />1.在php.ini中修改相關引數:<br style="margin:0px; padding:0px" />影響Mysql匯入檔案大小的引數有三個:<br style="margin:0px; padding:0px" />memory_limit=128M, upload_max_filesize=2M, post_max_size=8M<br style="margin:0px; padding:0px" />修改upload_max_filesize=200M這裡修改滿足你需要的大小,可以同時修改其他兩項memory_limit=250M ,post_max_size=200M.這樣就可以匯入200M以下的.sql檔案了。</p><p style="margin:10px auto; padding-top:0px; padding-bottom:0px; line-height:1.5">上文是把mysql放置在系統路徑下,其實不放也可以。如我的mysql安裝目錄為D:\MySQL Server 5.0;<br style="margin:0px; padding:0px" />則首先開啟dos視窗,然後輸入D:(沒有'\')回車<br style="margin:0px; padding:0px" />此時應該會出現D:\>這樣的標誌,然後在其後輸入D:\MySQL Server 5.0\bin回車<br style="margin:0px; padding:0px" />出現D:\MySQL Server 5.0\bin>接著輸入mysqldump -u root -p 資料庫名 >資料庫名.sql(也可以輸入路徑); (具體參照上面)<br style="margin:0px; padding:0px" />匯入檔案同樣,只是改了'>'為'<'就可以了,或者直接用source也許:<br style="margin:0px; padding:0px" />常用source命令<br style="margin:0px; padding:0px" />進入mysql資料庫控制檯  : 如 mysql -u root -p<br style="margin:0px; padding:0px" />mysql>use 資料庫<br style="margin:0px; padding:0px" />然後使用source命令,後面引數為指令碼檔案(這裡用到的是.sql)<br style="margin:0px; padding:0px" />mysql>source d:\mydb.sq</p></div></div>
  
  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)在不同的物理硬碟裝置上重新分配磁碟活動;
  如果可能,應將最繁忙的資料庫存放在不同的物理裝置上,這跟使用同一物理裝置的不同分割槽是不同的,因為它們將爭用相同的物理資源(磁頭)。

相關推薦

LINUX通過命令操作MYSQL

啟動:service mysqld start; 進入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出資料庫:show databases; 建立資料庫:create databa

linux命令操作mysql資料庫明細

連線資料庫==》 mysql -uroot -p 輸入root密碼 進入mysql操作後 下面的命令不要忘了最後結尾的; 1.選擇資料庫命令: use <資料庫名>2.查看錶的引擎型別等狀態資訊SHOW TABLE STATUS [FROMdb_name] [LIKE 'pattern']

linux命令進入mysql出錯

###1. mysql command not found 原因:這是由於系統預設會查詢/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是對映一個連結到/usr/bin目錄下,相當於建立一個連結檔案。 首先得知道mysql

命令操作MySQL資料庫

//進入資料庫 mysql -u root -p ; // 建立資料庫 create databasecreate database users; // 使用當前資料庫 use users; //執行sql檔案 source d:/t_heros.

通過命令操作安卓資料庫

Microsoft Windows [版本 6.1.7601] 版權所有 (c) 2009 Microsoft Corporation。保留所有權利。 C:\Users\Administrator>adb shell error: more than one device/emulator

linux命令操作和shell的區別

      這個問題也是突然想起來的,因為我身邊的同事有時候會把這兩個區別的表述,所以我就好奇了,到底是什麼關係呢,他們都能操作Linux系統啊。。後來百度一下才知道大致的區別。 一、什麼是shell 答:       shell翻譯成殼的意思,它是包

jq: 在Linux通過命令處理 JSON

因為最近要處理一些 JSON 資料格式,所以在經過一番搜尋後 最終找到了 jq 這個很棒的工具。jq 允許你直接在命令 行下對 JSON 進行操作,包括分片、過濾、轉換等等。 讓我們通過幾個例子來說明 jq 的功能: 漂亮列印 如果我們用文字編輯器開啟 JSON,有時候可能看起來會一團 糟,但是通過

windows命令操作mysql資料庫 基本語句

顯示所有資料庫:show databases檢視所有使用者:select  host,user,password from mysql.user;建立資料庫:create database sybdb;使用資料庫:use  sybdb ;顯示資料庫中的表: show tabl

MySql全套攻略——如何使用命令操作MySql

導讀:操作MySql,除了使用圖形視覺化工具workbench外,還可以使用命令列操作MySql1.配置MySql環境變數(1)選擇我的電腦,右鍵選擇屬性,在左側欄選擇“高階系統屬性”(2)選擇環境變數(3)在系統環境變數裡選擇Path環境變數,點選編輯(4)右側欄選擇新建,

linux命令操作快捷鍵及技巧

歷史相關命令 !!:執行上一條命令 !num:執行歷史命令中第num條命令 !-num:執行歷史命令中倒數第num條命令 !?string?:執行最近一條包含有string字串的命令 Ctrl+r:搜尋上一條匹配的命令 !$:代表上一個命令的最後一個字串 E

怎樣通過命令設定mysql資料庫密碼

1.先進入MySQL命令列客戶端,輸入:flush privileges;  重新讀授權表,回車; 2.輸入: use mysql  使用mysql 這個表, 3.update user set password=password('mypwd') where user='

mycli 命令操作 mysql 的智慧提示工具

由於一些原因,不得不使用shell操作。我是沒找到 DataGrip 這工具如何使用 \G 的方法。 # 設定以後查詢輸出結果到

mysql命令的匯入匯出sql,txt,excel(都在linux或windows命令操作

Mysql匯入匯出sql,txt,excel 首先我們通過命令列進入到mysql安裝目錄的bin目錄下,比如我輸入的命令列為:   d: cd  D:/wamp/bin/mysql/mysql5.6.17/bin 一、匯入匯出sql( linux或windows命令列

Mac如何通過命令Mysql操作資料庫

連線資料庫 mysql -u '資料庫名' -p enter '資料庫密碼' 建立一個名字為NickYang資料庫 create database NickYang; 修改資料庫編碼 alter database NickYang ch

MYSQL命令操作基本語句

首先進入MYSQL命令列控制介面:   1. 查詢所有資料庫: show databases;  (分號不能少) 2 進入某一資料庫 use + 資料庫名 + database;   Database changed表明已經

命令安裝MySQL——操作整理

初始化 D:\mysql-5.7.18-win32\bin\mysqld  --initialize 安裝服務 D:\mysql-5.7.18-win32\bin\mysqld -install MySQL57 --defaults-file="D:\mysql-5.7.18-

linux 作業系統下簡單的命令操作

一:   配置linux 作業系統虛擬主機     首先安裝一個虛擬機器(百度上面有很多哦) , 我主要使用的是VMware workstation 然後 下載一個centos映象6..5到7都可以;   然後用VMware安裝下載好的centos 配置好語言 , 使用者名稱 , 密

mysql通過命令建立資料庫

1.語法: CREATE DATABASE IF NOT EXISTS 資料庫名稱 DEFAULT CHARSET 預設編碼集 COLLATE 校對規則 2.語法解析: IF NOT EXISTS:如果該資料庫不存在則建立,存在則不建立,避免了建立資料庫的錯誤 DEFAULT CHARSET

mysql通過命令刪除資料庫

mysql通過命令列刪除資料庫 1.語法: DROP DATABASE IF EXISTS 資料庫名稱; 2.語法解析: IF EXISTS:判斷資料庫是否存在,如果存在則刪除對應的資料庫,如果不存在避免了產生執行刪除的錯誤 3.示例: # 刪除資料庫名稱為demo1的資料庫 DRO

mysql通過命令建立表

mysql通過命令列建立表 1.語法: CREATE TABLE IF NOT EXISTS 表名稱 ( 欄位1  [AS 別名]  欄位型別  [約束條件] [DEFAULT 預設值] [COMMENT 註釋], 欄位2  [AS 別名]&nbs