MySQL常用命令(DQL)

5 篇文章 0 订阅
4 篇文章 0 订阅

脚本中写注释(#,--,/* */)

操作库

show databases;

显示由哪些数据库

create database db1;

创建数据库

create database if not exists db1;

创建前进行判断是否已经存在

drop database db2;

删除数据库

drop database if exists db2;

删除数据库前进行判断

use db1;

使用对应表

查询表

show tables;

显示当前数据库有哪些表

desc tb_user;

查询里面表的结构信息

创建表

create table tb_user(

id int,

username varchar(20),

password varchar(32)

);

创建表名tb_user,表中包含id、用户名、密码。先写变量名后写变量类型(->是在MySQL命令中自动添加的,忽略)

数据库中变量类型

删除表格

drop table tb_user;

删除表

drop table if exists tb_user;

判断如果存在再删除表

修改表

alter table tb_user rename to user;

更改表名

alter table user add address varchar(50);

表中添加一列

alter table user modify address varchar(40);

修改数据类型

alter table user change address addr varchar(50);

修改列名和数据类型

alter table user drop addr;

删除列

添加数据

insert into user(id, username, password, address) values(2, '李四', 'hh', 'ww');

在对应位置添加数据

insert into user values(3, "hgx", "密码", "昭通");

添加数据可以不写结构,但是还是写了好看懂

insert into user values

(3, "hgx", "密码", "昭通"),

(4, "hhh", "密码", "北京");

一次添加多个

查询数据

select * from user;

查询user表中所有数据

条件查询

-- 查询语法
select * from user;# 显示user表中所有内容
select id, username from user;# 从表中查询这两列出来显示
select distinct id, username from user;# 去出重复后显示
select distinct id, username as 用户名 from user;        # 更改标题名显示,其中as可以不写
select distinct id, u.用户名 from user as u;                    # 多个表中的别名,用,号隔开
select * from user where username = 'hhh';# =(等于)、>大于、<小于、and与、!=不等于、or或
select * from user where password between 111 and 123456;# 显示这个范围以内的,或用not between,也可以不用between,在中间添加&&
select * from user where address in ('北京', '昆明');# 显示等于in中描述的数据
select * from user where password is null;# 选择密码设置为空的,这里为空不能用=
select * from user where password is not null;        # 选择密码不为空的
select * from user where password like '_2%';        # 查询包含2的,%表示多个任意字符,_表示单个任意字符

排序查询

# 排序查询select 字符列表 from 表名 order by 排序字段名1,字段名2...; 默认ASC升序;DESC降序
select * from user order by address;# 按照地址默认升序排序
select * from user order by address desc;# 降序排序
select * from user order by password, address;        # 排序优先使用第一个排序,当第一个相同的时候用第二个排序
-- 按照id数字排序,limit指定显示个数,limit 0,5;从第0个开始显示5个
SELECT * FROM tb_device_iot where status = '1' group by id limit 5;

聚合函数

-- 聚合函数
select count(password) from user;# 统计密码不为空的有多少个
select count(*) from user;# 统计总的有多少个
select min(id) from user;# 查询ID的最小值
select max(id) from user;# 查询ID的最大值
select sum(id) from user;# 全部ID求和
select avg(id) from user;# ID求平均值

分组查询

分页查询

# 分页查询
select * from user limit 2;     # 查询2条数据
select * from user limit 0, 2;# 查询数据从第0个开始,每页显示2条数据
select * from user limit 1, 2;# 分页排列的第2个开始,每页显示2条数据

修改数据

-- 修改数据,由于address不是KEY,会报错,需要用以下第一条命令更改模式才能正确执行
SET SQL_SAFE_UPDATES = 0;
update user set address = '上海' where password = 'hh';
update user set address = '昆明', password = '123456' where username = '李四';

删除数据

-- 删除数据,如果不在后面加条件判断会全部删除。 delete from 表名 [where 条件];
SET SQL_SAFE_UPDATES = 0;    需要进入安全模式才能操作
delete from user where username = '张三';

全局设置

// 查看日志
show variables like 'general_log';        // 查看日志是否开启
set global general_log=on;                // 开启日志,远程可能权限不足
// 根据提示文件名,查看日志,tail查看最后100行
cat /var/lib/mysql/instance-vnjumxyb.log  | tail -n 100

// 服务运行缓慢,增加连接个数
show variables like 'max_connections';    // 显示最大连接数
show status like 'thread%';               // 显示当前操作连接数
set global max_connections= 500;          // 设置最大连接数
get global max_connections;               // 查询最大连接数

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值