文章来源: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. Linux CentOs下安装lnmp

    1.下载源码包 以root目录为例: cd ~ # 下载安装包 wget http://nginx.org/download/nginx-1.17.2.tar.gz # nginx wget http ...

  2. python中str和byte的相互转化

    在涉及到网络传输的时候,数据需要从str转换成btye才能进行传输. python byte 转 str , str 转 byte 其实很简单:原理图如下:在这里插入图片描述案例: a: str = ...

  3. CVE-2019-0708:RDP终极EXP复现

    0x00 前言 每次复现都会遇到各种各样的问题,这次也不例外,经过多次尝试才复现成功,因此把可能的解决方法也和大家分享一下,有想要一起复现学习/投稿的可以联系我哈 0x01 影响版本 Windows ...

  4. docker镜像里的tag那些事--alpine,slim,stretch,jessie

    https://stackoverflow.com/questions/54954187/docker-images-types-slim-vs-slim-stretch-vs-stretch-vs- ...

  5. selenium中的等待方法及区别

    等待是为了使脚本执行更加稳定 常用的休眠方式: 1.time模块的sleep方法 :引入from time import sleep 2.implicitly_wait():设置webdriver等待 ...

  6. Mybatis框架-Delete节点元素的使用

    这个就也比较简单,需求:将我们最新插入的那条数据删除掉,从用户表中. UserMapper.xml UserMapper.java 编写测试方法: @Test public void testDele ...

  7. 四行公式推完神经网络BP

    据说多推推公式可以防止老年痴呆,(●ˇ∀ˇ●) 偶尔翻到我N年前第一次推导神经网络的博客居然四页纸,感慨毅力! http://blog.sina.com.cn/s/blog_1442877660102 ...

  8. Configure JSON.NET to ignore DataContract/DataMember attributes

    https://stackoverflow.com/questions/11055225/configure-json-net-to-ignore-datacontract-datamember-at ...

  9. sqlalchemy lock and atomic

    prepare: MYSQL tutorial Prepare a table set evn DBUSER=root DBPASS= DBNAME=cyborgTBNAME="atomic ...

  10. Python配置环境变量

    Python安装完成之后,运行cmd(win+R): 在控制台中输入Python,若安装完成,会在控制台中打开Python:   如果Python未添加至环境变量,则会提示"python不是 ...