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数据库操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持潘少俊衡。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/shujuku/MySQL/102052.html