前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL命令

MySQL命令

作者头像
777nx
发布2023-05-10 09:29:08
1.2K0
发布2023-05-10 09:29:08
举报

前言

开发者必备Mysql常用命令,涵盖了数据定义语句、数据操纵语句及数据控制语句,基于Mysql5.7。

数据定义语句(DDL)

数据库操作

  • 登录数据库:
代码语言:javascript
复制
mysql -uroot -proot
  • 创建数据库:
代码语言:javascript
复制
create database test
  • 查看所有数据库:
代码语言:javascript
复制
show databases
img
img
  • 选择数据库并使用:
代码语言:javascript
复制
use test
  • 查看所有数据表:
代码语言:javascript
复制
show tables
  • 删除数据库:
代码语言:javascript
复制
drop database test

表操作

  • 创建表:
代码语言:javascript
复制
create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2))  
代码语言:javascript
复制
create table dept(deptno int(2),deptname varchar(10))
img
img
  • 查看表的定义:
代码语言:javascript
复制
desc emp
img
img
  • 查看表定义(详细):
代码语言:javascript
复制
show create table emp \G
img
img
  • 删除表:
代码语言:javascript
复制
drop table emp
  • 修改表字段:
代码语言:javascript
复制
alter table emp modify ename varchar(20)
  • 添加表字段:
代码语言:javascript
复制
alter table emp add column age int(3)
  • 删除表字段:
代码语言:javascript
复制
alter table emp drop column age
  • 字段改名;
代码语言:javascript
复制
alter table emp change age age1 int(4)
  • 修改表名:
代码语言:javascript
复制
alter table emp rename emp1

数据操纵语句(DML)

插入记录

  • 指定名称插入:
代码语言:javascript
复制
insert into emp (ename,hiredate,sal,deptno) values ('zhangsan','2018-01-01','2000',1)
  • 不指定名称插入:
代码语言:javascript
复制
insert into emp values ('lisi','2018-01-01','2000',1)
  • 批量插入数据:
代码语言:javascript
复制
insert into dept values(1,'dept1'),(2,'dept2')

修改记录

代码语言:javascript
复制
update emp set sal='4000',deptno=2 where ename='zhangsan'

删除记录

代码语言:javascript
复制
delete from emp where ename='zhangsan'

查询记录

  • 查询所有记录:
代码语言:javascript
复制
select * from emp
  • 查询不重复的记录:
代码语言:javascript
复制
select distinct deptno from emp
  • 条件查询:
代码语言:javascript
复制
select * from emp where deptno=1 and sal<3000
  • 排序和限制:
代码语言:javascript
复制
select * from emp order by deptno desc limit 2
  • 分页查询(查询从第0条记录开始10条):
代码语言:javascript
复制
select * from emp order by deptno desc limit 0,10
  • 聚合(查询部门人数大于1的部门编号):
代码语言:javascript
复制
select deptno,count(1) from emp group by deptno having count(1) > 1
  • 连接查询:
代码语言:javascript
复制
select * from emp e left join dept d on e.deptno=d.deptno
  • 子查询:
代码语言:javascript
复制
select * from emp where deptno in (select deptno from dept)
  • 记录联合:
代码语言:javascript
复制
select deptno from emp union select deptno from dept

数据控制语句(DCL)

权限相关

  • 授予操作权限(将test数据库中所有表的select和insert权限授予test用户):
代码语言:javascript
复制
grant select,insert on test.* to 'test'@'localhost' identified by '123'
  • 查看账号权限:
代码语言:javascript
复制
show grants for 'test'@'localhost'
img
img
  • 收回操作权限:
代码语言:javascript
复制
revoke insert on test.* from 'test'@'localhost'
img
img
  • 授予所有数据库的所有权限:
代码语言:javascript
复制
grant all privileges on *.* to 'test'@'localhost'
  • 授予所有数据库的所有权限(包括grant):
代码语言:javascript
复制
grant all privileges on *.* to 'test'@'localhost' with grant option
  • 授予SUPER PROCESS FILE权限(系统权限不能指定数据库):
代码语言:javascript
复制
grant super,process,file on *.* to 'test'@'localhost'
  • 只授予登录权限:
代码语言:javascript
复制
grant usage on *.* to 'test'@'localhost'

账号相关

  • 删除账号:
代码语言:javascript
复制
drop user 'test'@'localhost'
  • 修改自己的密码:
代码语言:javascript
复制
set password = password('123')
  • 管理员修改他人密码:
代码语言:javascript
复制
set password for 'test'@'localhost' = password('123')

其他

字符集相关

  • 查看字符集:
代码语言:javascript
复制
show variables like 'character%'
img
img
  • 创建数据库时指定字符集:
代码语言:javascript
复制
create database test2 character set utf8
img
img

时区相关

  • 查看当前时区(UTC为世界统一时间,中国为UTC+8):
代码语言:javascript
复制
show variables like "%time_zone%"
img
img
  • 修改mysql全局时区为北京时间,即我们所在的东8区:
代码语言:javascript
复制
set global time_zone = '+8:00';
  • 修改当前会话时区:
代码语言:javascript
复制
set time_zone = '+8:00'
img
img
  • 立即生效:
代码语言:javascript
复制
flush privileges

最后

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 数据定义语句(DDL)
    • 数据库操作
      • 表操作
      • 数据操纵语句(DML)
        • 插入记录
          • 修改记录
            • 删除记录
              • 查询记录
              • 数据控制语句(DCL)
                • 权限相关
                  • 账号相关
                  • 其他
                    • 字符集相关
                      • 时区相关
                      • 最后
                      相关产品与服务
                      云数据库 MySQL
                      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档