MYSQL语句

本文详细介绍了SQL中的表操作,包括添加、修改和删除列,以及修改表名和删除表。同时涵盖了数据管理,如插入、查询、更新和删除数据,以及各种条件查询、算术运算、NULL值处理、模糊查询、排序和分页查询的方法。此外,还讨论了单行函数的使用。
摘要由CSDN通过智能技术生成
表操作 - 修改 DDL

  • 添加列
alter table 表名 add [column] 字段名 类型;
  • 修改列
alter table 表名 modify [column] 字段名 类型;
  • 修改列名称和类型
alter table 表名 change [column] 原字段名 新字段名 新列类型 [comment 注释] [约束];
  • 删除列
alter table 表名 drop [column] 字段名;
  • 修改表名
rename table 旧名称 to 新名称;   或者   alter table 表名称 rename to 新名称;
  • 删除表
drop table [if exists] 表名;
  • 截断表
truncate table 表名;  # 删除表之后会创建一个空表
  • 创建和某表结构一样的表
create table 表名 like 要复制的表;  # 当要复制的表不在当前数据库时
create table 表名 like 数据库名.要复制的表;
数据管理
  • 插入数据DML
insert into 表名[(字段名称1,字段名称2,字段名称3)] value(value1,value 2,value 3);
insert into 表名[(字段名称1,字段名称2,字段名称3)] values(value1,value 2,value 3);
# 如果前面有字段按照前面的字段顺序添加,没有按照默认的顺序添加
# 插入多条数据
insert into 表名 values (), (), ();
  • 查询数据DQL
# 无条件查询
select *(字段1,字段2,字段3 . ) from 表名;
# 等值查询
select * from 表名 where 字段名 =value;
# 设置列别名
select 字段名 [as] '别名' from 表名 WHERE 条件;
# 剔除重复行
select distinct * from 表名;
# 只是在显示的时候不显示重复的数据,数据未删除
  • 修改数据
update 表名 set 字段 = value where 条件;
# 修改满足条件的字段值
  • 删除数据
delete from 表名 where 条件;
# 删除满足条件的行
条件查询
  • 条件过滤
SELECT * FROM dept;
SELECT * FROM dept WHERE dept_no = 3;
SELECT * FROM dept WHERE dept_no BETWEEN 1 AND 3;
SELECT * FROM dept WHERE dept_no IN(1, 2, 3);
select * from dept where dept_no not in(2, 3, 5);
SELECT * FROM 表名 WHERE 字段 = value;
# WHERE 子句表示查询的条件
# [value1, value2]
SELECT * FROM 表名 WHERE 字段 BETWEEN value1 AND value2;
# 字段在[value1, value2 . ]任意一个就可以
SELECT * FROM 表名 WHERE 字段 IN(value1, value2, value3);
# 字段不在[value1,value2,value3]中
SELECT * FROM 表名 WHERE 字段 NOT IN(value1, value2, value3);
- & 条件1 和条件2 都为 true 的结果显示
出来17 SELECT * FROM 表名 WHERE 条件1 AND 条件2;
- | 满足条件1 和满足条件2的结果都可以显示出来
SELECT * FROM 表名 WHERE 条件1 OR 条件2;
  • 算术运算
# 可以对查询出来的结果进行算数运算
SELECT 字段1+ 字段2 FROM 表名;
# 修改的时候也可以进行算数运算
UPDATE 表名 SET 字段=字段+value WHERE 条件;
  • NULL值查询
# NULL 值只能无法通过等值操作查询
# NULL值指的是未填值,注意跟空字符串做区分
SELECT * FROM 表名 WHERE 字段 IS NULL;
SELECT * FROM 表名 WHERE 字段 IS NOT NULL;
  • 模糊查询
select * from 表名 where 字段 like 'x_';
select * from 表名 where 字段 like 'x%';
select * from 表名 where 字段 like '%x%';
select * from 表名 where 字段 like '_x%';
  • 逻辑运算
SELECT * FROM 表名 WHERE 字段 > value;  #> < = !=
  • 排序
select * from 表名 order by 字段 desc;  #降序
select * from 表名 order by 字段 asc;   #升序
SELECT * FROM 表名 ORDER BY 字段1 DESC, 字段2 ASC;
  • 分页查询
select * from 表名 limit 0,2;  #从第0行开始显示两条数据
#页码 n 页大小 s  limit (n-1)*s s;
  • 单行函数
# length 计算长度
SELECT length("123");
select length(字段) from 表;
# upper/lower 大、小写转换
SELECT UPPER("a"), LOWER('A');
select upper(字段),lower(字段) from 表;
# concat 字符串拼接
SELECT CONCAT(upper('smith'),'john');
select concat(字段1, 字段2) from 表;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值