MySQL 表的增删改查(基础)

1.CRUD

注释:在SQL中可以使用"--空格+描述"来表示注释说明

CRUD 即增加(Create).查询(Retrieve).更新(Update).删除(Delete)

2.新增(Create)

insert into 表名 values (列,列...);

insert into 表名(列名,列名...) values (列,列...);

insert into 表名  values(),(),()...;      一个()里是一行数据

3.查询(Select)

a.全列查询 

select * from 表名; 

select * 这个操作其实非常危险,在公司生产环境服务器不要随便敲select * 很可能让服务器挂了

b.指定列查询

select 列名,列名... from 表名;

这个操作也不是万无一失,万一查这一列有很多行数据,也能把网络通道堵死

c.表达式查询

1) 当前表达式查询,没有修改服务器上硬盘中存储的数据库 在查询结果基础之上进行运算 得到一个临时表

2) 此时查询出来的临时表 每列的类型不再受限于原始表

d.别名

select 表达式 as 别名 from 表名;

e.去重:distinct

select distinct 列名 from 表名; 

把列的值相同记录合并成一个

f.排序: order by

select 列名 from 表名 order by 列名;

1.没有order by 子句的查询,返回的值是未定义的,永远不要依赖这个顺序

2.null 数据排序,视为比任何值都小,

注:asc 为升序(从小到大)  desc 为降序(从大到小)  默认为 asc

可以对多个字段进行排序,排序优先级随书写顺序

g.条件查询:where

比较运算符:

运算符 说明
>, >=, <, <= 大于,大于等于,小于,小于等于
= 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=> 等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
!=, <> 不等于
BETWEEN a0 AND a1 范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN (option, ...) 如果是 option 中的任意一个,返回 TRUE(1)
IS NULL 是 NULL
IS NOT NULL 不是 NULL
LIKE 模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符

逻辑运算符:

运算符 说明
AND 多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR 任意一个条件为 TRUE(1), 结果为 TRUE(1)
NOT 条件为 TRUE(1),结果为 FALSE(0)

注: 

1. WHERE条件可以使用表达式,但不能使用别名。
2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

h.分页查询:limit

可以限制这一次查询,最多查多少个记录

4.修改(Update)

update 表名 set 列名 = 值 where 条件;

给定一个sql 语句,就是一个整体,要么整个执行成功,要是失败,就全部不执行

5.删除(Delete)

delete from 表名 where 条件/limit /order by;

没有指定任何条件,删掉所有数据,删除所有记录和删表还是有区别的

update delete 修改的硬盘上的数据库数据

总结

新增:

单行插入
insert into 表(字段1, ..., 字段N) values (value1, ..., value N);
-- 多行插入
insert into 表(字段1, ..., 字段N) values
(value1, ...),
(value2, ...),
(value3, ...);

 查询

-- 全列查询
select * from 表
-- 指定列查询
select 字段1,字段2... from 表
-- 查询表达式字段
select 字段1+100,字段2+字段3 from 表
-- 别名
select 字段1 别名1, 字段2 别名2 from 表
-- 去重DISTINCT
select distinct 字段 from 表
-- 排序ORDER BY
select * from 表 order by 排序字段
-- 条件查询WHERE:
-- (1)比较运算符 (2)BETWEEN ... AND ... (3)IN (4)IS NULL (5)LIKE (6)AND (7)OR
(8)NOT
select * from 表 where 条件

修改:

update 表 set 字段1=value1, 字段2=value2... where 条件

删除:

delete from 表 where 条件/limit/order by

你可能感兴趣的:(MySQL,mysql,数据库)