问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

MySQL:CRUD初阶(有图有实操)

创作时间:
作者:
@小白创作中心

MySQL:CRUD初阶(有图有实操)

引用
CSDN
1.
https://blog.csdn.net/qrwitu142857/article/details/138976477

MySQL是一种关系型数据库管理系统,广泛应用于各种应用场景中。本文将介绍MySQL数据库的基本CRUD操作,包括创建、读取、更新和删除数据。

1. 数据库的操作

MySQL命令是不区分大小写的,为了风格统一,以下只使用小写字母。

1.1 显示当前的数据库

show databases;

示例:显示MySQL中的数据库

还记得刚开始用MySQL,总是忘记写分号……

1.2 创建数据库

create database 数据库名;

示例:创建一个test数据库

注意:MySQL 5.7 及之前版本默认的字符集是 latin1 ,MySQL 8.0 版本默认的字符集是 utf8mb4 。

1.3 选中数据库

必须先选中要使用的数据库,才可以操作数据库。

use 数据库名;

如果没选中数据库,就对数据库进行操作,就会出现报错:

选中后,才能正常使用:

1.4 删除数据库

drop database 数据库名;

使用drop删除数据库时,会把数据库中的表和数据全部删除。

注意:删除操作一定要慎重、慎重,删除后数据基本上不可恢复。

示例:删除test数据库

2. 表的操作

2.1 查看表结构

desc 表名;

示例:查看book结构

2.2 创建表

create table 表名(字段名 字段类型,字段名 字段类型,...);

示例:创建book表

2.3 删除表

drop table 表名;

注意:删除操作一定要慎重、慎重,删除后数据基本上不可恢复。

示例:删除book表

2.4 向表中插入数据

2.4.1 单行数据 + 全列插入
insert into 表名 values(...,...,...);

注意括号内的数据必须和定义表的列的数量和顺序一致

示例:向book表中插入一条数据

插入结果:

在MySQL中,now()函数用于返回当前日期和时间。它支持日期和时间的不同格式,并且可以在查询中使用。

2.4.2 多行数据 + 指定列插入
insert into 表名 (字段名,字段名,...) values(...,...,...);

注意括号内的数据必须和定义表的列的数量和顺序一致

示例:向book表中插入这样一个数据,作者名为:作者 、价格为:2 的数据。

如果要插入多行数据,只需:insert into 表名 (字段名,字段名,…) values(…,…,…),(…,…,…);即在values后面多加几个小括号,括号中间使用逗号分隔即可。

示例:向book表中一次性插入2个数据。

2.5 查询

注意:查询也是一个非常危险的操作,在工作中要慎重使用!!因为在工作中表中的数据量很多,这就意味着在查询时服务器要传输大量的数据,可能影响其他人对数据库进行操作,一不小心公司的损失就要进入按分钟计时了!!

2.5.1 全列查询

select * from 表名;

示例:查询book表中的内容

2.5.2 指定列查询

select 字段名,字段名,.... from 表名

示例:查询book表中的书名和作者

2.5.3 查询字段为表达式

select 字段名,字段名... 查找的值,查找的值... from 表名

示例:查询名字为“1”的书

查询book中的书名,以及对应价格+10后的价格。

注意:这里的价格+10后,并不影响数据库中的价格,数据库中的价格仍然是原价格。

2.5.4 别名(as)

select 字段名 as 别名 from 表名;

示例:查询一下学生表中的各学生总分

2.5.5 去重(distinct)

select distinct 字段名 from 表名;

示例:给english这一列去重

注意:去重并没有改变原数据库中的内容。

2.5.6 排序(order by)

select ... from 表名 order by 字段名;

在字段名后面可以写上asc(升序)/desc(降序),如果不写,则默认为升序

注意:

  1. 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序
  2. NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面
  3. 可以对多个字段进行排序,排序优先级随书写顺序

示例1:在students表中按student_id进行升序排序

示例2:在students表中按student_id进行降序排序

示例3:在students表中依次按数学降序,英语升序,语文升序的方式显示

2.5.7 条件查询(where)

比较运算符:

逻辑运算符:

注意:

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

示例1: 在studens表中查询englis小于70的学生

示例2: 在studens表中查询所有分数大于70的学生

示例3: 在studens表中查询数学大于70,英语分在[75,85]之间的学生

示例4: 在studens表中查询姓张的学生

2.5.8 分页查询(limit)

select ... from 表名 limit s offset n;

以上命令的效果为,从表中查找…,从s开始,向后查n条内容。

1.如果不写s和offset,则默认从0位置开始查找。

2.第一条数据的下标为0

示例1:在studens表中查询2个学生

示例2:在studens表中从第二个学生开始向后查找5个学生

2.5.9 修改(Update)

update 表名 set 字段名 = ... ;

注意:修改操作会真正影响数据库中存储的数据

示例1:在studens表中将math这一列全部设置为100

示例2:在students表中将小红的english改为95

2.5.10 删除(Delete)

delete from 表名;

示例:在students表中删除张三的成绩

注意:delete和drop是MySQL中两个不同的操作。

  1. delete操作是用于从表中删除数据行。delete语句可以使用where子句指定删除的条件,以确定哪些数据行将被删除。delete语句执行后,被删除的数据行将从表中移除,但表的结构和其他数据行将保持不变。
  2. drop操作是用于删除整个表。drop table语句将删除指定的表以及表中的所有数据和索引。

下一篇文章

MySQL:CRUD进阶

本文到这里就结束啦~

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号