MySql命令執行個體匯總_Mysql

來源:互聯網
上載者:User

本文執行個體總結了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 MyClassmysql> 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語句補充:

1. 使用SHOW語句找出在伺服器上當前存在什麼資料庫:

複製代碼 代碼如下:
mysql> SHOW DATABASES;

2. 2、建立一個資料庫MYSQLDATA
複製代碼 代碼如下:
mysql> CREATE DATABASE MYSQLDATA;

3. 選擇你所建立的資料庫
複製代碼 代碼如下:
mysql> USE MYSQLDATA;
(按斷行符號鍵出現Database changed 時說明操作成功!)
4. 查看現在的資料庫中存在什麼表
複製代碼 代碼如下:
mysql> SHOW TABLES;

5. 建立一個資料庫表
複製代碼 代碼如下:
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6. 顯示表的結構:
複製代碼 代碼如下:
mysql> DESCRIBE MYTABLE;

7. 往表中加入記錄
複製代碼 代碼如下:
mysql> insert into MYTABLE values ("hyq","M");

8. 用文本方式將資料裝入資料庫表中(例如D:/mysql.txt)
複製代碼 代碼如下:
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

9. 匯入.sql檔案命令(例如D:/mysql.sql)
複製代碼 代碼如下:
mysql>use database;
mysql>source d:/mysql.sql;

10. 刪除表
複製代碼 代碼如下:
mysql>drop TABLE MYTABLE;

11. 清空表
複製代碼 代碼如下:
mysql>delete from MYTABLE;

12. 更新表中資料
複製代碼 代碼如下:
mysql>update MYTABLE set sex="f" where name='hyq';

以下是在網路看到的使用MySql的管理心得:

在windows中MySql以服務形式存在,在使用前應確保此服務已經啟動,未啟動可用net start mysql命令啟動。而Linux中啟動時可用"/etc/rc.d/init.d/mysqld start"命令,注意啟動者應具有管理員權限。

剛安裝好的MySql包含一個含空密碼的root帳戶和一個匿名帳戶,這是很大的安全隱患,對於一些重要的應用我們應將安全性儘可能提高,在這裡應把匿名帳戶刪除、 root帳戶設定密碼,可用如下命令進行:

use mysql;delete from User where User="";update User set Password=PASSWORD('newpassword') where User='root';

如果要對使用者所用的登入終端進行限制,可以更新User表中相應使用者的Host欄位,在進行了以上更改後應重新啟動資料庫服務,此時登入時可用如下類似命令:

mysql -uroot -p;mysql -uroot -pnewpassword;mysql mydb -uroot -p;mysql mydb -uroot -pnewpassword;

上面命令參數是常用參數的一部分,詳細情況可參考文檔。此處的mydb是要登入的資料庫的名稱。

在進行開發和實際應用中,使用者不應該只用root使用者進行串連資料庫,雖然使用root使用者進行測試時很方便,但會給系統帶來重大安全隱患,也不利於管理技 術的提高。我們給一個應用中使用的使用者賦予最恰當的資料庫許可權。如一個只進行資料插入的使用者不應賦予其刪除資料的許可權。MySql的使用者管理是通過 User表來實現的,添加新使用者常用的方法有兩個,一是在User表插入相應的資料行,同時設定相應的許可權;二是通過GRANT命令建立具有某種許可權的用 戶。其中GRANT的常用用法如下:

grant all on mydb.* to NewUserName@HostName identified by "password" ;grant usage on *.* to NewUserName@HostName identified by "password";grant select,insert,update on mydb.* to NewUserName@HostName identified by "password";grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password";

若要給此使用者賦予他在相應對象上的許可權的管理能力,可在GRANT後面添加WITH GRANT OPTION選項。而對於用插入User表添加的使用者,Password欄位應用PASSWORD 函數進行更新加密,以防不軌之人竊看密碼。對於那些已經不用的使用者應給予清除,許可權過界的使用者應及時回收許可權,回收許可權可以通過更新User表相應欄位, 也可以使用REVOKE操作。

下面給出本人從其它資料(www.cn-java.com)獲得的對常用許可權的解釋:

全域系統管理權限:

FILE: 在MySQL伺服器上讀寫檔案。
PROCESS: 顯示或殺死屬於其它使用者的服務線程。
RELOAD: 重載存取控制表,重新整理日誌等。
SHUTDOWN: 關閉MySQL服務。
資料庫/資料表/資料列許可權:
ALTER: 修改已存在的資料表(例如增加/刪除列)和索引。
CREATE: 建立新的資料庫或資料表。
DELETE: 刪除表的記錄。
DROP: 刪除資料表或資料庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜尋表的記錄。
UPDATE: 修改表中已存在的記錄。
特別的許可權:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登入–其它什麼也不允許做。

希望本文所述對大家MySQL資料庫設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.