必备Mysql命令
文章来源:https://macrozheng.github.io/mall-learning/#/reference/mysql
开发者必备Mysql命令
开发者必备Mysql常用命令,涵盖了数据定义语句、数据操纵语句及数据控制语句,基于Mysql5.7。
数据定义语句(DDL)
数据库操作
- 登录数据库:
mysql -uroot -proot
- 创建数据库:
create database test
- 查看所有数据库:
show databases

- 选择数据库并使用:
use test - 查看所有数据表:
show tables - 删除数据库:
drop database test
表操作
- 创建表:
create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2))create table dept(deptno int(2),deptname varchar(10))
- 查看表的定义:
desc emp
- 查看表定义(详细):
show create table emp \G
- 删除表:
drop table emp - 修改表字段:
alter table emp modify ename varchar(20) - 添加表字段:
alter table emp add column age int(3) - 删除表字段:
alter table emp drop column age - 字段改名;
alter table emp change age age1 int(4) - 修改表名:
alter table emp rename emp1
数据操纵语句(DML)
插入记录
- 指定名称插入:
insert into emp (ename,hiredate,sal,deptno) values ('zhangsan','2018-01-01','2000',1) - 不指定名称插入:
insert into emp values ('lisi','2018-01-01','2000',1) - 批量插入数据:
insert into dept values(1,'dept1'),(2,'dept2')
修改记录
update emp set sal='4000',deptno=2 where ename='zhangsan'
删除记录
delete from emp where ename='zhangsan'
查询记录
- 查询所有记录:
select * from emp - 查询不重复的记录:
select distinct deptno from emp - 条件查询:
select * from emp where deptno=1 and sal<3000 - 排序和限制:
select * from emp order by deptno desc limit 2 - 分页查询(查询从第0条记录开始10条):
select * from emp order by deptno desc limit 0,10 - 聚合(查询部门人数大于1的部门编号):
select deptno,count(1) from emp group by deptno having count(1) > 1 - 连接查询:
select * from emp e left join dept d on e.deptno=d.deptno - 子查询:
select * from emp where deptno in (select deptno from dept) - 记录联合:
select deptno from emp union select deptno from dept
数据控制语句(DCL)
权限相关
- 授予操作权限(将test数据库中所有表的select和insert权限授予test用户):
grant select,insert on test.* to 'test'@'localhost' identified by '123' - 查看账号权限:
show grants for 'test'@'localhost'
- 收回操作权限:
revoke insert on test.* from 'test'@'localhost'
- 授予所有数据库的所有权限:
grant all privileges on *.* to 'test'@'localhost' - 授予所有数据库的所有权限(包括grant):
grant all privileges on *.* to 'test'@'localhost' with grant option - 授予SUPER PROCESS FILE权限(系统权限不能指定数据库):
grant super,process,file on *.* to 'test'@'localhost' - 只授予登录权限:
grant usage on *.* to 'test'@'localhost'
帐号相关
- 删除账号:
drop user 'test'@'localhost' - 修改自己的密码:
set password = password('123') - 管理员修改他人密码:
set password for 'test'@'localhost' = password('123')
其他
字符集相关
- 查看字符集:
show variables like 'character%'
- 创建数据库时指定字符集:
create database test2 character set utf8
时区相关
- 查看当前时区(UTC为世界统一时间,中国为UTC+8):
show variables like "%time_zone%"
- 修改mysql全局时区为北京时间,即我们所在的东8区:
set global time_zone = '+8:00'; - 修改当前会话时区:
set time_zone = '+8:00'
- 立即生效:
flush privileges
必备Mysql命令的更多相关文章
- 测试必备技能系列1 :通过mysql命令进行脚本数据导入
老徐,分享测试项目中实际能解决问题的干货! 今日分享: 如何通过mysql命令行,导入mysql脚本文件数据? ----- 解决实际的问题: 工作过程中,经常需要导入mysql脚本文件 很多同 ...
- Mysql命令大全
格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输 ...
- ****Linux MySQL命令运用个人总结
1.xampp在linux下如何使用mysql命令 A: 解决方法(推荐第二个方法): 1.xampp中的命令工具在/opt/lampp/bin/目录中,所以可以这样运行mysql命令 /opt/la ...
- MySQL命令行登录的例子
环境:MySQL Sever 5.1 + MySQL命令行工具 问题:MySQL命令行登录 解决: 命令 行登录语法: mysql –u用户名 [–h主机名或者IP地址] –p密码 说明:用户名是你登 ...
- MySQL命令行下执行.sql脚本详解
本文主要介绍一个在MySQL命令行下执行脚本文件的例子,通过这个例子让我们来了解一下在命令行下MySQL是怎样执行脚本的吧.现在我们开始介绍这一过程. 1.首先编写sql脚本,保存为的:book.sq ...
- Mysql 命令大全
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...
- mysql 在windows下,使用 net start mysql 命令发生错误 服务名无效 或 1067
mysql 在windows下,使用 net start mysql 命令发生错误 :服务名无效 或 1067 先使用mysqld -install安装一下 删除data目录下的日志等文件(因为之前 ...
- MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- MYSQL命令行使用指南
一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -u ...
随机推荐
- python测试开发django-58.MySQL server has gone away错误的解决办法
前言 使用django执行sql相关操作的时候,出现一个"MySQL server has gone away"错误,后来查了下是sql执行过程中,导入的文件较大时候,会出现这个异 ...
- 使用flask搭建微信公众号:接收与回复消息
token验证的意义 在看了别人的代码之后对token加密有了些理解了.但又觉得很鸡肋.第一次验证服务器的时候我在那弄了半天的验证其实不写也可以验证成功,只要直接返回echostr这个字段就行了.微信 ...
- Ubuntu创建启动器(快捷方式)的方式
解压.tar.gz的navicat之后发现不能自动生成启动器了,研究了一下发现: 虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些图形界面程序或者命令行程序可能需要你手动创建快捷 ...
- test20190925 老L
100+0+0=100.概率题套路见的太少了,做题策略不是最优的. 排列 给出 n 个二元组,第 i 个二元组为(ai,bi). 将 n 个二元组按照一定顺序排成一列,可以得到一个排列.显然,这样的排 ...
- Java学习 从0.1开始(一)
写在前面: 之前从事过.NET,C,C++相关的开发,Java是一直没有学习的新领域.最近,应工作需要,开始学习Java相关的知识.又因为新公司并没有完整的系统架构,所以学习方向会侧重架构方向(Cod ...
- async-validator:Element表单验证
转载文章:Element表单验证(2) Element表单验证(2) 上篇讲的是async-validator的基本要素,那么,如何使用到Element中以及怎样优雅地使用,就在本篇. 上篇讲到a ...
- WebPack探索之路(1)
1. 卸载全局的webpack npm ininstall webpack webpack-cli -g 其中安装webpack-cli 是可以让webpack在命令行中执行.在webpack4.0中 ...
- pageContext 和 config 内置对象
forword("目标页面") : 使当前页面跳转到另一个目标页面 include("目标页面") ;使当前页面包含另一个页面的信息
- dbt 集成presto试用
dbt 团队提供了presto 的adapter同时也是一个不错的的参考实现,可以学习 当前dbt presto 对于版本的要求是0.13.1 对于当前最新版本的还不支持,同时需要使用源码安装pip ...
- 计蒜客 39268.Tasks-签到 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest A.) 2019ICPC西安邀请赛现场赛重现赛
Tasks It's too late now, but you still have too much work to do. There are nn tasks on your list. Th ...