文章来源: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. 测试必备技能系列1 :通过mysql命令进行脚本数据导入

    老徐,分享测试项目中实际能解决问题的干货!   今日分享: 如何通过mysql命令行,导入mysql脚本文件数据?   ----- 解决实际的问题: 工作过程中,经常需要导入mysql脚本文件 很多同 ...

  2. Mysql命令大全

    格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输 ...

  3. ****Linux MySQL命令运用个人总结

    1.xampp在linux下如何使用mysql命令 A: 解决方法(推荐第二个方法): 1.xampp中的命令工具在/opt/lampp/bin/目录中,所以可以这样运行mysql命令 /opt/la ...

  4. MySQL命令行登录的例子

    环境:MySQL Sever 5.1 + MySQL命令行工具 问题:MySQL命令行登录 解决: 命令 行登录语法: mysql –u用户名 [–h主机名或者IP地址] –p密码 说明:用户名是你登 ...

  5. MySQL命令行下执行.sql脚本详解

    本文主要介绍一个在MySQL命令行下执行脚本文件的例子,通过这个例子让我们来了解一下在命令行下MySQL是怎样执行脚本的吧.现在我们开始介绍这一过程. 1.首先编写sql脚本,保存为的:book.sq ...

  6. Mysql 命令大全

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root - ...

  7. mysql 在windows下,使用 net start mysql 命令发生错误 服务名无效 或 1067

    mysql 在windows下,使用 net start mysql 命令发生错误 :服务名无效 或 1067  先使用mysqld -install安装一下 删除data目录下的日志等文件(因为之前 ...

  8. MySQL命令大全:MySQL常用命令手册、MySQL命令行大全、查询工具

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  9. MYSQL命令行使用指南

    一.连接MYSQL. 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -u ...

随机推荐

  1. javascript中 typeof和instanceof的区别

    <一> js中typeof的用法进行了详细的汇总介绍 (1)返回一个变量的基本类型 回顾基本类型(number,string,boolean,null,undefined,object) ...

  2. SQL进阶系列之3三值逻辑与NULL

    写在前面 普通编程语言里的布尔型只有true和false两个值,这种逻辑体系被称为二值逻辑,而SQL语言里,还有第三个值unknown,因此SQL的逻辑体系被称为三值逻辑. Why SQL存在三值逻辑 ...

  3. 编程小白入门分享四:Vue的安装及使用快速入门

    一.VUE简介 vue是一个JavaMVVM库,是一套用于构建用户界面的渐进式框架,是初创项目的首选前端框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计.它是轻量级的,它有很多独立 ...

  4. 【Servlet】基于Jsp的微信Oauth2认证

    作者:yongh701 挂载到微信服务器上的应用程序,能够通过微信Oauth2认证,能够抓取到用户的微信信息,当然,你首先要通过微信的帐号资质审核. 一.基本思想 二.基本过程 1.登陆微信的公众平台 ...

  5. C++中的类所占内存空间总结(转)

    类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的. 摘抄部分: 成员函数还是以一般的函数一样的存在.a.fun()是通过fun(a.this)来调 ...

  6. Mysql注入绕过安全狗

    转载请加原文链接:https://www.cnblogs.com/Yang34/p/12055052.html 微信公众号:信Yang安全.同步更新,欢迎关注.文末有二维码. 正好最近在搞注入,昨天现 ...

  7. 选择排序python实现

    选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完.注意每次查找 ...

  8. 原创:自定义spark GraphX中的collectNeighborIds方法

    /** * 自定义收集VertexId的neighborIds * @author TongXueQiang */def collectNeighborIds[T,U](edgeDirection:E ...

  9. USACO 2009 Open 干草塔 Tower of Hay

    USACO 2009 Open 干草塔 Tower of Hay Description 为了调整电灯亮度,贝西要用干草包堆出一座塔,然后爬到牛棚顶去把灯泡换掉.干草 包会从传送带上运来,共会出现N包 ...

  10. 求斐波那契数列中的第N个数

    递推 递归 1.暴力递归 2.记忆化递归 对比下二者的效率