sql學習筆記(17)----------MySQL命令,mysql匯入sql檔案命令
Mysql常用命令詳解
Mysql安裝目錄
資料庫目錄
/var/lib/mysql/
設定檔
/usr/share/mysql(mysql.server命令及設定檔)
相關命令
/usr/bin(mysqladmin mysqldump等命令)
啟動指令碼
/etc/init.d/mysql(啟動指令檔mysql的目錄)
系統管理
串連MySQL
格式: mysql -h 主機地址 -u使用者名稱 -p使用者密碼
例 1:串連到本機上的 MySQL。
hadoop@ubuntu:~$ mysql -uroot -pmysql;
例 2:串連到遠程主機上的 MYSQL。
hadoop@ubuntu:~$ mysql -h 127.0.0.1 -uroot -pmysql;
修改新密碼
在終端輸入:mysql -u使用者名稱 -p密碼,斷行符號進入Mysql。
> use mysql;
> update user set password=PASSWORD('新密碼') where user='使用者名稱';
> flush privileges; #更新許可權
> quit; #退出
增加新使用者
格式:grant select on 資料庫.* to 使用者名稱@登入主機 identified by '密碼'
舉例:
例 1:增加一個使用者 test1 密碼為 abc,讓他可以在任何主機上登入,並對所有資料庫有
查詢、插入、修改、刪除的許可權。首先用以 root 使用者連入 MySQL,然後鍵入以下命令:
mysql>grant select,insert,update,delete on *.* to root@localhost identified by 'mysql';
或者
grant all privileges on *.* to root@localhost identified by 'mysql';
然後重新整理使用權限設定。
flush privileges;
例 2:如果你不想 root 有密碼操作資料庫“mydb”裡的資料表,可以再打一個命令將密碼消掉。
grant select,insert,update,delete on mydb.* to root@localhost identified by '';
刪除使用者
hadoop@ubuntu:~$ mysql -u使用者名稱 -p密碼
mysql>delete from user where user='使用者名稱' and host='localhost';
mysql>flush privileges;
//刪除使用者的資料庫
mysql>drop database dbname;
資料庫操作
顯示所有的資料庫
mysql> show databases;(注意:最後有個 s)
建立資料庫
mysql> create database test;
串連資料庫
mysql> use test;
查看當前使用的資料庫
mysql> select database();
當前資料庫包含的表資訊
mysql> show tables; (注意:最後有個 s)
刪除資料庫
mysql> drop database test;
表操作
備忘:操作之前使用“use <資料庫名>”應串連某個資料庫。
建表
命令: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));
擷取表結構
命令: desc 表名,或者show columns from 表名
例子:
mysql> describe MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
刪除表
命令:drop table <表名>
例如:刪除表名為 MyClass 的表
mysql> drop table MyClass;
插入資料
命令:insert into <表名> [( <欄位名 1>[,..<欄位名 n > ])] values ( 值 1 )[, ( 值 n )]
例子:
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
查詢表中的資料
查詢所有行
mysql> select * from MyClass;
查詢前幾行資料
例如:查看錶 MyClass 中前 2 行資料
mysql> select * from MyClass order by id limit 0,2;
或者
mysql> select * from MyClass limit 0,2;
刪除表中資料
命令:delete from 表名 where 運算式
例如:刪除表 MyClass 中編號為 1 的記錄
mysql> delete from MyClass where id=1;
修改表中資料
命令:update 表名 set 欄位=新值,... where 條件
mysql> update MyClass set name='Mary' where id=1;
在表中增加欄位
命令:alter table 表名 add 欄位 類型 其他;
例如:在表 MyClass 中添加了一個欄位 passtest,類型為 int(4),預設值為 0
mysql> alter table MyClass add passtest int(4) default '0'
更改表名
命令:rename table 原表名 to 新表名;
例如:在表 MyClass 名字更改為 YouClass
mysql> rename table MyClass to YouClass;
更新欄位內容
命令:update 表名 set 欄位名 = 新內容
update 表名 set 欄位名 = replace(欄位名, '舊內容', '新內容');
例如:文章前面加入 4 個空格
update article set content=concat(' ', content);
資料庫匯入匯出
從資料庫匯出資料庫檔案
使用“mysqldump”命令
首先進入 DOS 介面,然後進行下面操作。
1)匯出所有資料庫
格式:mysqldump -u [資料庫使用者名稱] -p -A>[備份檔案的儲存路徑]
2)匯出資料和資料結構
格式:mysqldump -u [資料庫使用者名稱] -p [要備份的資料庫名稱]>[備份檔案的儲存路徑]
舉例:
例 1:將資料庫 mydb 匯出到 e:\MySQL\mydb.sql 檔案中。
開啟開始->運行->輸入“cmd”,進入命令列模式。
c:\> mysqldump -h localhost -u root -p mydb >e:\MySQL\mydb.sql
然後輸入密碼,等待一會匯出就成功了,可以到目標檔案中檢查是否成功。
例 2:將資料庫 mydb 中的 mytable 匯出到 e:\MySQL\mytable.sql 檔案中。
c:\> mysqldump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql
例 3:將資料庫 mydb 的結構匯出到 e:\MySQL\mydb_stru.sql 檔案中。
c:\> mysqldump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql
備忘:-h localhost 可以省略,其一般在虛擬機器主機上用。
3)只匯出資料不匯出資料結構
格式:
mysqldump -u [資料庫使用者名稱] -p -t [要備份的資料庫名稱]>[備份檔案的儲存路徑]
4)匯出資料庫中的Events
格式:mysqldump -u [資料庫使用者名稱] -p -E [資料庫使用者名稱]>[備份檔案的儲存路徑]
5)匯出資料庫中的預存程序和函數
格式:mysqldump -u [資料庫使用者名稱] -p -R [資料庫使用者名稱]>[備份檔案的儲存路徑]
從外部檔案匯入資料庫中
1)使用“source”命令
首先進入“mysql”命令控制台,然後建立資料庫,然後使用該資料庫。最後執行下面操作。
mysql>source [備份檔案的儲存路徑]
2)使用“<”符號
首先進入“mysql”命令控制台,然後建立資料庫,然後退出 MySQL,進入 DOS 介面。最後執行下面操作。
mysql -u root –p < [備份檔案的儲存路徑]
Mysql常用命令列
Mysql經常使用號令行大全 熬頭招、mysql辦事的開始工作和停止
net stop mysql
net start mysql
第二招、登岸mysql
文法如下: mysql -u使用者名稱 -p使用者密碼
鍵入號令mysql -uroot -p, 斷行符號後提示你輸入密碼,輸入12345,之後斷行符號便可進入到 mysql中了,mysql的提示符是:
mysql>
注意,若是串連到另外的呆板上,則需要插手一個參量-h呆板IP
mysql>mysql –u root –p –h 192.168.0.1
第三招、增加新使用者
格式:grant 許可權 on 資料庫.* to 使用者名稱@登入主機 identified by "密碼"
如,增加一個使用者user1密碼為password1,讓其可以在本機上登入, 並對所有資料庫有查詢、插進去、修改、刪去的許可權。起首用以root使用者連入mysql,之後鍵入以下號令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果但願該使用者可以或許在任何呆板上登岸mysql,則將localhost改為"%"。
grant select,insert,update,delete on *.* to user1@’%’ Identified by "password1";
如果你不想user1有密碼,可以再打一個號令將密碼去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
第四招: 操作資料庫
登入到mysql中,之後在mysql的提示符下運行下面所開列號令,每一個號令以分號結束。
1、 顯示資料庫列表。
show databases;
預設有兩個資料庫:mysql和test。 mysql庫儲存安放著mysql的系統和使用者權限資訊,我們改密碼和添加使用者,現實上就是對這個庫舉行操作。
2、 顯示庫中的資料表:
use mysql;
show tables;
3、 顯示資料表的結構:
describe 表名;
4、 建庫與刪庫:
create database 庫名;
drop database 庫名;
5、 建表:
use 庫名;
create table 表名(欄位列表);
drop table 表名;
六、 清空表中記錄:
delete from 表名;
七、 顯示表中的記錄:
select * from 表名;
第五招、匯出和匯入資料
1. 匯出資料:
mysqldump --opt test > mysql.test
即將資料庫test資料庫匯出到mysql.test檔案,後者是一個文字檔
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把資料庫dbname匯出到檔案mysql.dbname中。
2. 匯入資料:
mysqlimport -u root -p123456 < mysql.dbname。
不用解釋了吧。
3. 將文本資料匯入資料庫:
文本資料的欄位資料之間用tab鍵隔開。
use test;
load data local infile "檔案名稱" into table 表名;
1:施用SHOW語句找出在辦事器上當前存在啥子資料庫:
mysql> SHOW DBTBBBSES;
2:2、建立一個資料庫MYSQLDBTB
mysql> DREBTE DBTBBBSE MYSQLDBTB;
3:選擇你所建立的資料庫
mysql> USE MYSQLDBTB; (按斷行符號鍵出現Database changed 時申明操作樂成!)
4:查看此刻的資料庫中存在啥子表
mysql> SHOW TBBLES;
5:建立一個資料庫表
mysql> DREBTE TBBLE MYTBBLE (name VBRDHBR(20), sex DHBR(1));
6:顯示表的結構:
mysql> DESDRIBE MYTBBLE; 7:往表中插手記錄
mysql> insert into MYTBBLE values ("hyq","M");
8:用文本方式將資料裝入資料庫表中(例如D:/mysql.txt)
mysql> LOBD DBTB LODBL INFILE "D:/mysql.txt" INTO TBBLE MYTBBLE;
9:匯入.sql檔案號令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:刪去表
mysql>drop TBBLE MYTBBLE;
11:清空表
mysql>delete from MYTBBLE;
12:更新表中資料
mysql>update MYTBBLE set sex="f" where name='hyq';
posted on 2006-01-10 16:21 happytian 閱讀(6) 評論(0) 編纂 保藏 保藏至365Key
13:備份資料庫
mysqldump -u root 庫名>xxx.data
14:例2:串連到遠程主機上的MYSQL
假定遠程主機的IP為:110.110.110.110,使用者名稱為root,密碼為abcd123。則鍵入以下號令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u與root可以不用加空格,其它也一樣)
3、退出MYSQL號令: exit (斷行符號)
使用者權限控制
對3.22.34版本的MySQL,這裡共1四個"Y",其相應的許可權如下(按欄位順序擺列):
許可權 表列名稱 相應解釋 施用範圍
select select_priv 只有在真正從一個表中檢索時才需要select許可權 表
insert insert_priv 允許您把新行插進去到一個存在的表中 表
update update_priv 允許你用新值更新現存表中行的列 表
delete delete_priv 允許你刪去饜足條件的行 表
create create_priv 允許你建立新的資料庫和表 資料庫、 表或索引
drop drop_priv 拋棄(刪去)現存的資料庫和表 資料庫或表
reload Reload_priv 允許您告訴辦事器再讀入權力委託表 辦事器管理
shutdown Shutdown_priv 可能被濫用(通過終止辦事器拒絕為其他使用者辦事) 辦事器管理
process Process_priv 允許您察看當前執行的查詢的普通文本,包括設定或改變口令查詢 辦事器管理
file File_priv 許可權可以被濫用在辦事器上讀取任何可讀的檔案到資料庫表 辦事器上的檔案存取
grant Grant_priv 允許你把你自己擁有的那些許可權授給其他的使用者 資料庫或表
references References_priv 允 許你開啟和封閉記錄檔案 資料庫或表
index Index_priv 允許你建立或拋棄(刪去)索引 表
alter alter_priv 允許您改變表格,可以用於通過重新命名表來推倒許可權系統資料表
FILE: 在MySQL伺服器上讀寫檔案。
PROCESS: 顯示或殺死屬於其它使用者的服務線程。
RELOAD: 重載存取控制表,重新整理日誌等。
SHUTDOWN: 關閉MySQL服務。
資料庫/資料表/資料列許可權:
ALTER: 修改已存在的資料表(例如增加/刪除列)和索引。
CREATE: 建立新的資料庫或資料表。
DELETE: 刪除表的記錄。
DROP: 刪除資料表或資料庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜尋表的記錄。
UPDATE: 修改表中已存在的記錄。
特別的許可權:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登入–其它什麼也不允許做。
介紹五個經常使用的MySQL圖形化管理工具
1、phpMyAdmin(http://www.phpmyadmin.net/)
phpMyAdmin是最常用的MySQL維護工具,是一個用PHP開發的基於Web方式架構在網站主機上的MySQL管理工具,支援中文,管理資料庫非常方便。不足之處在於對大資料庫的備份和恢複不方便。
2、MySQLDumper(http://www.mysqldumper.de/en/)
MySQLDumper使用PHP開發的MySQLDatabase Backup恢複程式,解決了使用PHP進行大Database Backup和恢複的問題,數百兆的資料庫都可以方便的備份恢複,不用擔心網速太慢導致中間中斷的問題,非常方便易用。這個軟體是德國人開發的,還沒有中文語言套件。
3、Navicat(http://www.navicat.com/)
Navicat是一個案頭版MySQL資料庫管理和開發工具。和微軟SQLServer的管理器很像,易學易用。Navicat使用圖形化的使用者介面,可以讓使用者使用和管理更為輕鬆。支援中文,有免費版本提供。
4、MySQL GUI Tools(http://dev.mysql.com/downloads/gui-tools/)
MySQL GUI Tools是MySQL官方提供的圖形化管理工具,功能很強大,值得推薦,可惜的是沒有中文介面。
5、MySQL ODBC Connector(http://dev.mysql.com/downloads/connector/odbc/)
MySQL官方提供的ODBC介面程式,系統安裝了這個程式之後,就可以通過ODBC來訪問MySQL,這樣就可以實現SQLServer、Access和MySQL之間的資料轉換,還可以支援ASP訪問MySQL資料庫。
10個可視化開發的MySQL管理工具
使用各種精心設計的工具來管理MySQL資料庫要比單純使用傳統的方法輕鬆得的多。開發人員應該不斷尋找那些能夠縮短開發時間的工具。這也是我們本文整理這10個能夠簡化開發過程的MySQL工具的原因。
一、MySQL Workbench
MySQL Workbench是一個由MySQL開發的跨平台、可視化資料庫工具。它作為DBDesigner4工程的替代應用程式而備受矚目。MySQL Workbench可以作為windows、linux和OS X系統上的原始GUI工具,它有各種不同的版本,你可以查看下面的連結以獲得它的版本資訊。
二、phpMyAdmin
phpMyAdmin是一款免費的、用PHP編寫的工具,用於在全球資訊網上管理MySQL,它支援MySQL的大部分功能。這款含有使用者介面的軟體能夠支援一些最常用的操作(比如管理資料庫、表格、欄位、聯絡、索引、使用者、許可,等等),同時你還可以直接執行任何SQL語句。
它所具備的特性:
>直觀的Web介面
>支援大多數MySQL功能:
> 瀏覽和丟棄資料庫、表格、視圖、欄位和索引
>建立、複製、刪除、重新命名以及更改資料庫、表格、欄位和索引
>維護伺服器、資料庫以及表格,能對伺服器的配置提出建議
>執行、編輯和標註任何SQL語句,甚至批量查詢
>管理MySQL使用者以及使用者權限
>管理儲存的過程(stored procedures)和觸發器(triggers)
>從CSV 和 SQL檔案格式中匯入資料
>能夠以多種格式匯出資料:CSV、SQL、XML、PDF、ISO/IEC 26300等
>管理多台伺服器
>為資料庫布局建立PDF圖表
>使用Query-by-example (QBE)建立複雜的查詢
>在資料庫中進行全域搜尋,或者在資料庫的子集中進行搜尋
>用預定義的函數把儲存的資料轉化成任何格式
>還具有其他更多特性...
三、Aqua Data Studio
對於資料庫管理員、軟體開發人員以及商務分析師來說,Aqua Data Studio是一個完整的整合式開發環境(IDE)。它主要具備了四個方面的功能:1)資料庫查詢和管理工具;2)一套資料庫、原始程式碼控制以及檔案系統的比較工具;3)為Subversion(SVN)和CVS而設計了一個完整的整合原始程式碼控制用戶端;4)提供了一個的資料庫建模工具(modeler),它和最好的獨立資料庫圖表工具一樣強大。
四、SQLyog
SQLyog是一個全面的MySQL資料庫管理工具(/’GUI’/'Frontend’)。 它的社區版(Community Edition)是具有GPL許可的免費開源軟體。這款工具包含了開發人員在使用MySQL時所需的絕大部分功能:查詢結果集合、查詢分析器、伺服器訊息、表格資料、表格資訊,以及查詢曆史,它們都以標籤的形式顯示在介面上,開發人員只要點擊滑鼠即可。此外,它還可以方便地建立視圖和預存程序,最近幾周筆者一直在反覆使用這個功能。
五、MYSQL Front
這個MySQL資料庫的圖形GUI是一個“真正的”應用程式,它提供的使用者介面比用PHP和HTML建立起來的系統更加精確。因為不會因為重載HTML網頁而導致延時,所以它的響應是即時的。如果供應商允許的話,你可以讓MySQL-Front直接與資料庫進行工作。如果不行,你也只需要在發布網站上安裝一個小的指令碼即可。登入資訊會儲存在你的硬碟上,因此你不必再登入到不同的網路介面上了。
六、mytop
mytop是一款基於控制台的工具(不是GUI),用於監視線程以及MySQL 3.22.x、3.23.x和4.x伺服器的整體效能。它可以在大多數安裝了Perl、DBI以及 Term::ReadKey的Unix系統上(包括Mac系統OS X)運行。如果你安裝了Term::ANSIColor,你能得到彩色的視圖。如果你安裝了Time::HiRes,你還可以得到一個不錯的 “每秒查詢數” 即時統計。mytop0.7版甚至還能在windows上運行。
mytop的靈感來自系統監視工具“top”。我經常在Linux、FreeBSD和Solaris上使用top,你很可能會在mytop中注意到來自這些作業系統的某些特性。mytop串連到MySQL伺服器之後,能定期運行SHOW PROCESSLIST和SHOW STATUS命令,並以一種有用的格式總結從這些命令中所獲得的資訊。
七、Sequel Pro
Sequel Pro是一款管理MAC OSX資料庫的應用程式,它可以讓你直接存取本地以及遠程伺服器上的MySQL資料庫,並且支援從流行的檔案格式中匯入和匯出資料,其中包括SQL、CSV 和XML等檔案。最初,Sequel Pro只是開源CocoaMySQL工程的一個分支。部分特性如下:
>你很容易就可以建立起一個到Mac電腦本地MySQL伺服器的串連
>它具有全部的表格管理功能,包括索引。
>支援MySQL視圖
>它使用多視窗功能,能夠立即支援多個資料庫或表格
八、SQL Buddy
SQL Buddy是一個強大的輕量級Ajax資料庫管理工具。它非常易於安裝,你只需要把檔案夾解壓到伺服器裡就行了,這再簡單不過了!你還可以進行常見的絕大部分操作。
九、MySQL Sidu
MySQL Sidu是一款免費的MySQL用戶端,它通過網路瀏覽器來運行,非常容易上手!Sidu這幾個字母表示Select(選擇)、Insert(插入)、Delete(刪除)和Update(更新)。Sidu其實還有更多的功能,它看起來更像MySQL前端軟體的GUI而不是網頁。
>SIDU支援SQL選擇、插入、刪除,更新功能。
>SIDU支援在瀏覽器上工作,如Firefox、IE、Opera、Safari、Chrome等等。
>SIDU看起來像MySQL前端軟體的GUI而不是網頁。
>SIDU可以跟MySQL、Postgres 和SQLite DBs一起工作。
十、Navicat Lite MySQL Admin Tool
Navicat是一款快速、可靠的資料庫管理工具,很受大家的歡迎。Navicat專門用來簡化資料庫管理並且減少管理成本,它旨在滿足資料庫管理員、資料庫開發人員以及廣大中小企業的需要,它有一個很直觀的GUI,可以讓你安全便捷的建立、組織、訪問以及分享資訊。
對於MySQL來說,Navicat工具是一個強大的資料庫管理和開發工具。它可以跟任何版本的MySQL資料庫伺服器(3.21版或者以上版本)一起工作,並且支援MySQL大多數最新的功能,包括Trigger、Stored Procedure、Function、Event, View和 Manage User等。Navicat Lite可以免費下載,但是僅適用於非商務工作。
SqlToolBox (資料庫管理工具) V1.8.3 綠色版
SqlToolBox是一款純綠色的免費資料庫用戶端軟體,基於Java Swing編製而成,旨在於為開發人員,系統工程師和資料庫管理員提供一種通用方便和快捷的資料庫操作工具,使他們擺脫需要學習掌握使用多種資料庫用戶端的苦惱,並減輕他們日常操作資料庫和編寫Sql語句的任務量,協助他們把精力投入到解決更有意義的問題上去。
SqlToolBox現有功能
1. 能串連到MySql,Oracle和Ms Sql Server三種資料庫。
2. 串連到資料庫後,會提供資料庫Schema和表的樹視圖以便使用者進行瀏覽和尋找,另外還提供了一個過濾器協助使用者縮小尋找範圍。
3. 使用者能自動快速擷取單表的建立,查詢,更新,刪除,建表語句,整表全部資料插入語句,單表對應Pojo類和單表的Hibernate對應檔等常用文字,且可藉此構造更複雜的Sql語句。
4. 能執行Sql語句並顯示執行結果,如果是查詢語句會以表格形式顯示結果,還提供CSV形式資料下載;如果是非查詢語句或是錯誤的查詢語句則會以文字形式告知使用者。
5. 在使用者輸入Sql語句的過程中提供Sql文法高亮功能,以助於Sql語句的識別。
6. 提供Sql格式化功能以助於Sql語句的識別和整理。
7. 提供Redo/Undo,Shift整體退格進格,大小寫轉化,將Sql語句用StringBuilder包容以及將Sql語句中關鍵字大寫表示等常用文字編輯功能。這些都能協助程式員在程式中書寫Sql語句。
8. 能儲存和記憶資料庫資訊,以便下次開啟。
本文借鑒:
http://www.cnblogs.com/TsengYuen/archive/2012/01/11/2319034.html
http://www.cnblogs.com/linjiqin/archive/2013/03/01/2939384.html