MySQL表的增删查改(基础)

45 篇文章 0 订阅

gitee:博客中的所有操作整合

  1. 新增

语法:

insert [into] table_name values(value_list)

[案例] 创建一个学生表进行数据插入

1.1单行数据+全列插入

[提示]我们可以想在记事本上写下命令,让后复制到数据库客户端,这样可以在出错的时候进行快速修改.

同时为了美观和明了,我们可以进行适当的换行,是代码看起来更加清晰明了.

1.2 多行数据+指定列插入

[提示]如果我们要进行多条的数据插入,我们使用1.2中的方法比1.1中的方法效率更高

  1. 查询

语法:

select [distinct] { * | { column } }
[ from table_name]
[ where ...]
[ order by column [asc | desc], ... ]
[ limit ...];

【案例】

2.1全列查询

【注意】通常情况下不要用*进行全列查询,如果数据信息过于庞大,就意味着传输的数据量很大,造成卡顿甚至跟严重的后果。

2.2指定列查询

2.3 查询字段为表达式

如果查询字段为表达式,那么表格的那一列的字段名就是表达式的名称。

2.4 别名

为查询结果中的类指定别名,返回的结果集合中,就以别名作为该列的名称。

语法:

select column [as] alias_name [...] from table_name;

2.5去重:distinct

使用distinct关键字对某一列的数据进行去重:

只关注select 选中的列,如果有重复,只进行一次展示.

2.6排序order by

语法:

-- asc 为升序(从小到大),英文:Ascend
-- desc为降序(从大到小),英文:Descend
-- 不写,会某人为asc
select ... from table_name
[ where ...]
[ order by column [asc | desc]];
  1. 如果没有order by子句的查询,返回的顺序式违背定义的。

  1. 如果数据中有null, 将会被视为最小的数据,会出现在升序的最上面,降序的最下面。

  1. 使用表达式及别名进行排序

-- 使用表达式或别名进行排序
select name, chinese + math + english as '总分'
from exam_result
order by '总分';
  1. 可以对多个字段进行排序,排序的优先级随书写的顺序

-- 根据多个字段进行排序
select * from exam_result order by chinese, math, english;

2.7 条件查询:where

比较运算符:

运算符

说明

>, <, <=, >=

大于,小于,小于等于,大于等于

=

等于,与null做比较时,结果都是false

<=>

等于,能与null作比较,null<=>null结果为true

!=, <>

不等于

between a and b

范围匹配,范围在[a,b]直接的数字都返回为真

in(option)

如果是option中的任意一个,返回真

is null

是null

is not null

不是null

like

模糊匹配。%表示多个任意字符,_ 表示任意一个字符

逻辑运算符:

运算符

说明

and

多个条件都要满足,结果才为真

or

任意一个条件为真,结果为真

not

条件为真,结果返回false

【注意】

  1. where条件可以使用表达式,但是不能使用别名(当执行到where语句时,select后面 的语句实际上并没有执行到,此时使用别名,会导致无法识别的问题);

  1. and的优先级高于or,同时使用时,我们可以使用()来调整优先执行的顺序。

(如: condition1 or condition2 and condition3语句,会先判断condition1是否满足,再判断condition2和condition3是否为真。)

  • 基本查询

  • and和or

  • 范围查询

  • 模糊匹配

  • null的查询:is [not] null

2.8 分页查询

语法:

-- 起始下标为0
-- 从0开始,筛选n条结果
select ... from table_name [ where ...] [ order by ...] limit n;
--从s开始,筛选n条信息
select ... from table_name [ where ...] [ order by ...] limit n, s;
select ... from table_name [ where ...] [ order by ...] limit n offset s; (建议使用第二个)

案例:

3. 修改

语法:

update table_name set column = ??
[ where ...] [order by ...] [ limit ...]

案例:

4.删除(谨慎操作)

语法:

delete from table_name
[ where ...] [ order by ...] [ limit ...]

案例

注意

  1. 如果删除重要数据,可以立即停止业务,避免新的数据写入,进行数据恢复。

  1. delect只是删除数据,但是表和表的结构依然存在,只是数据被凭空。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值