Mysql 命令列模式訪問操作mysql資料庫操作
使用環境
在cmd模式下輸入 mysql --version (檢視mysql安裝的版本).
完整的命令可以通過mysql --help來獲取.
本測試使用的Mysql版本是mysql5,
本測試使用的SQL: db_yves.sql: 連結: https://pan.baidu.com/s/1vZWWgAp7TS48nrBiMDpcaQ 提取碼: vveu
1.連線資料庫
不借助資料庫管理軟體(如Navicat等軟體),通過dos連線mysql軟體庫伺服器,然後操作資料庫.
連線資料庫通用格式:mysql -P 埠號 -h mysql主機名或ip地址 -u 使用者名稱 -p
解釋: (-P大寫P代表埠,小寫p代表密碼,h代表主機名或ip,u代表user使用者)"
EG: mysql -P 3306 -h 192.168.1.104 -u root -p
1.本地連線
如果是命令列是mysql所在的本機,而且用預設的埠 3306 時,可以簡化語句為:
mysql -u root -p
2.遠端連線
注意: 使用遠端連線時,使用的連線使用者和該使用者現在的ip地址應該是遠端資料庫中允許的使用者和允許的ip,否則是不允許連線的.
mysql -P 3306 -h 192.168.1.104 -u root -p
成功登入後如下圖:
2.操作資料庫
在使用使用者名稱和密碼成功登入mysql資料庫後,在改使用者的許可權範圍內可以操作該使用者對資料庫的操作.db_yves是我自己建立的資料名.在操作資料時每條語句是用;或\g來標誌結束的.
1.檢視所有資料庫
show databases;
2.建立資料庫
create database db_yves;
3.使用資料庫
use db_yves;
4.顯示資料庫中所有表
show tables;
5.查看錶結構
show columns from customers; 或者使用快捷方式:DESCRIBE customers;
6.刪除資料庫
drop database db_yves;
關於命令列模式資料庫檔案的匯入和匯出:
命令列模式下,匯入匯出sql檔案,進入CMD既可.
匯出資料庫檔案
包括匯出資料庫到指定表.
1.匯出資料庫db_yves的結構和資料
mysqldump -h localhost -u root -p db_yves > D:\db_yves.sql
2.匯出資料庫db_yves的結構(加-d引數):
mysqldump -h localhost -u root -p db_yves -d > D:\db_yves_stru.sql
3.匯出資料庫db_yves中的customers表的結構和資料:
mysqldump -h localhost -u root -p db_yves customers > D:\customers.sql
4.匯出資料庫db_yves中的customers表的結構(加-d引數):
mysqldump -h localhost -u root -p db_yves -d > D:\customers_stru.sql
匯入資料庫檔案
向資料庫db_yves匯入資料庫檔案db_yves.sql.
mysql -h localhost -u root -p db_yves < D:\db_yves.sql
其他常用語句
SHOW STATUS,用於顯示廣泛的伺服器狀態資訊;
SHOW CREATE DATABASE和SHOW CREATE TABLE,分別用來顯示創 建特定資料庫或表的MySQL語句;
SHOW GRANTS,用來顯示授予使用者(所有使用者或特定使用者)的安 全許可權;
SHOW ERRORS和SHOW WARNINGS, 用來顯示伺服器錯誤或警告訊息。
補充知識:Mysql| 組合where子句過濾資料(AND,OR,IN,NOT)
mysql 允許使用多個where子句,組合where子句允許使用兩種方式使用:AND 和OR子句的方式使用.
資料庫中的操作符號:AND,NOT.
AND:
SELECT * FROM products WHERE products.vend_id = 1003 AND products.prod_price <= 10;
OR:
SELECT * FROM products WHERE products.vend_id = 1002 OR products.vend_id = 1003 ;
IN:
建議能使用IN的子句中不使用OR,IN行效能好,方便理解.
SELECT * FROM products WHERE products.vend_id IN (1002,1003);
NOT:
Mysql對NOT的支援僅在對IN,BETWEEN,EXISTS子句取反,這與其他多數資料庫對各種條件都支援不同.
SELECT * FROM products WHERE products.vend_id NOT IN (1002,1003);
注意:
在同時有AND和OR的子句中,mysql是優先處理AND操作的.一般建議使用()來確定處理順序和消除歧義.
比如: SELECT * FROM products WHERE (products.vend_id= 1002 OR products.vend_id=1003) AND prod_price >= 10;
以上這篇Mysql 命令列模式訪問操作mysql資料庫操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。