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 , OR , IN , 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數據庫操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
