0


MySQl表的增删查改(CRUD)

新增

**1.单行插入 insert into 表名 values (值,值...); **

2.指定列插入 insert into 表名 (列名,列名...) values (值,值...);

3.多行插入 insert into 表名 values (值,值...), (值,值...)...;

查询

1.全列查询 select * from 表名;

2.指定列查询 select 列名,列名... from 表名;

3.查询带表达式 select 表达式 from 表名;

4,查询带别名 select 表达式 as 别名 from 表名;

5.查询去重 select distinct 列名 from 表名;

6.查询结果排序 select 列名 from 表名 order by 列名 asc/desc; 升/降

7.条件查询 select 列名 from 表名 where 条件;

(基本:and且 or或 范围:between...and... in 模糊 like %_ is null )

8.分页查询 select 列名 from 表名 limit N offset M;

修改

update 表名 set 列名 = 值, 列名 = 值... where 条件

删除

delete from 表名 where 条件; 删除条件控制的列

delete from 表名; 删除所有列

1. 新增(create)

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

(1)这里值的类型和个数,要和表的列的类型和个数要匹配

(2)使用单引号和双引号都可以表示字符串

(3)在创建数据库时就要确定好,要使用的字符集

在SQL中,没有字符类型,使用单引号和双引号都可以表示字符串

** 🤠 下面看这个**

如果我们放入的字符是汉字就会报错,这是因为MySQL默认是拉丁文,是不支持中文的

下面可以输入**SHOW VARIABLES LIKE 'character%';**查看字符编码方式

** 1. 如果要支持中文,那就要重新创建数据库来支持中文比如utf8**

create database 数据库名 character set utf8;

但这种方法,每次创建库时都要指定,比较麻烦

**2. 还可以,直接修改mysql配置文件,把数据库字符集配置成默认的想要设置的字符集 **

这样以后就不用指定,可以直接插入了

下面来修改一下mysql配置文件

(1)先找到一个my.ini的文件

可以搜索电脑中的服务找到mysql这一项,点击属性

** (2)在电脑中找到这个路径下的my.ini文件,先备份,然后再打开它**

(3)分别找到mysql和mysqld下的 这两项去掉# 给后面加上utf8保存

(4)重新启动服务器,重新建库、建表

指定列插入 多行插入

insert into 表名(列名,列名...) values (值,值,,,); 指定列插入

insert into 表名 values (值,值...),(值,值)...; 多行插入


2. 查询(retrieve)

2.1 全列查找

**select * from 表名; **查询出当前表所有的行,和所有的列

2.2 指定列查询

** select 列名 from 表名;**

这里查询只能看见两列,不代表其它列被删除,这只是一个临时表

临时表示根据服务器的数据生成的,所有的查询操作,都不会影响服务器磁盘上的数据

2.3 查询字段为表达式

**select 表达式 from 表名; **

** 表达式查询,列和列之前进行计算**

**如果列和列之间计算,加上字符就会发出警告 **

临时表的列名,就是表达式的内容,这样看不美观,可读性不高

所以可以在查询时,给临时表的列指定别名

2.4 给查询结果的列起别名

select 列名 as 别名 from 表名;

2.5 查询去重

select distinct 列名 from 表名;

2.6 对查询结果进行排序操作

**升序排列 select 列名 from 表名 order by 列名(排序列); ** 或者给后面加asc

**降序排列 select 列名 from 表名 order by 列名(排序列) desc; **

** 降序排序,要在最后加上desc**

** 指定多个列排序,哪个列在前,哪个列优先级高**

** 也可以分别,指定一个列升序,一个列降序**

2.7 条件查询

查询时指定筛选条件, where 子句来表示子句

select 列名 from 表名 where 条件;

条件查询需要注意各种运算符,这里特别说明

= :等于,NULL不安全,例如:null = null 的结果是null

**<=> : 等于,null安全,例如:null<=>null 的结果是true **

**2.7.1 基本查询 **

按条件,查询单行

按条件,两行比较

按条件表达式,进行查询

and和or

2.7.2 范围查询

(1)between...and...

当表很大时,条件查询遍历表,效率非常低

所以可以优化查询,最有效的方法是根据索引

(2)in

2.7.3 模糊查询

依赖一些通配符来表示要匹配的值是啥样的(like)

% 代替任意个任意字符 _代替一个任意字符

like 匹配时比较低效的

** NULL的查询**

is null / is not null

** 2.8 分页查询**

很多时候数据太多,分成多个页进行显示

select 列名 from 表名 limit N; 查询前N条记录

select 列名 from 表名 limit N offset M; 从第M条记录开始,

3. 修改(update)

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

4. 删除(delete)

delete from 表名 where 条件;

要是不写条件,就全部删除了 ,但是表换在,只是表剩一个空表了


标签: mysql 数据库

本文转载自: https://blog.csdn.net/m0_58761900/article/details/126083251
版权归原作者 快到锅里来呀 所有, 如有侵权,请联系我们删除。

“MySQl表的增删查改(CRUD)”的评论:

还没有评论