常用但是记不住的sql,随时更新
in语句
可以为条件限制多个值查询
select 列名 from 表名 where 列名 in (查询条件 逗号相隔)
添加列
ALTER TABLE 表名 ADD 列名 类型 是否为空,列名 类型 是否为空 ;
添加行数据
insert into SysUser values
修改行数据
update 表名 set 修改列 = 修改值 where 条件
删除行
delete from 表明 where 条件
查询所有带有某列的表
select * from information_schema.columns where column_name = ‘列名’
内连接(会查出on后面满足条件的A B两表所有数据)
select * from 表A a inner join 表B b on a.列名 = b.列名
左连接(会查出on后面满足条件的B表所有数据A表直接是全表数据)
select * from 表A a left join 表B b on a.列名 = b.列名
右连接(会查出on后面满足条件的A表所有数据B表直接是全表数据)
select * from 表A a right join 表B b on a.列名 = b.列名
多表连接
select * from 表A a inner join 表B b on a.列名 = b.列名 inner join 表C c on a.列名=c.列名
模糊查询
select * from 表名 where 字段 like ‘%FS%’
EXISTS查询(假设我们有两张表:orders 和 customers。我们希望找到所有有订单的客户。)
SELECT *
FROM customers c
WHERE EXISTS (
SELECT 1
FROM orders o
WHERE o.customer_id = c.customer_id
);
NOT EXISTS查询(假设我们有两张表:orders 和 customers。我们希望找到所有没有订单的客户。)
SELECT *
FROM customers c
WHERE NOT EXISTS (
SELECT 1
FROM orders o
WHERE o.customer_id = c.customer_id
);
mysql创建视图
CREATE VIEW View_OrderInfo AS
SELECT
a.OrderId,
a.OrderNo,
a.OrderType,
a.TotalQty,
b.GoodsId,
b.GoodsCode,
b.GoodsName,
b.Specs,
b.Price,
b.Qty,
b.Img,
a.CreateDate,
a.Creator
FROM
demo_order a,
demo_orderlist b
WHERE
a.OrderId = b.OrderId;