Mysql数据库insert、replace、update、delete、truncate、drop、select语句介绍

news/2024/11/13 3:38:59/

一.插入语句insert

1.插入单条数据

2.插入多条数据

二.替换语句replace

1.格式一

2.格式二,将其他表的字段复制到本表字段

3.格式三

三.修改语句update

四.删除语句delete、truncate、drop

1.delete from 表名 查找条件;

2.truncate table 表名;

3.drop table 表名;

五.查询语句select

1.基础语法

2.select配合算术表达式

3.配合as定义字段别名

4.处理重复记录


一.插入语句insert

注意:into可以省略,特殊字符需要使用'\'转义

1.插入单条数据

(1)insert into 表名 values (字段1的值,字段2的值);

mysql8.0 [SLB]>desc t1;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id    | int      | YES  |     | NULL    |       |
| name  | char(20) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)mysql8.0 [SLB]>insert t1 values (1,"sulibao");
Query OK, 1 row affected (0.01 sec)
mysql8.0 [SLB]>select * from t1;
+------+---------+
| id   | name    |
+------+---------+
|    1 | sulibao |
+------+---------+
1 row in set (0.00 sec)

(2)insert 表名 set 字段=值,字段值;

mysql8.0 [SLB]>insert t1 set id=2,name="lixinjin";
Query OK, 1 row affected (0.00 sec)mysql8.0 [SLB]>select * from t1;
+------+----------+
| id   | name     |
+------+----------+
|    1 | sulibao  |
|    2 | lixinjin |
+------+----------+
2 rows in set (0.00 sec)

2.插入多条数据

insert 表名(字段1,字段2) values (字段1的值,字段2的值),(字段1的值,字段2的值),(字段1的值,字段2的值);

mysql8.0 [SLB]>insert t1(id,name) values (3,"aaa"),(4,"bbb"),(5,"ccc");
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql8.0 [SLB]>select * from t1;
+------+----------+
| id   | name     |
+------+----------+
|    1 | sulibao  |
|    2 | lixinjin |
|    3 | aaa      |
|    4 | bbb      |
|    5 | ccc      |
+------+----------+
5 rows in set (0.00 sec)

二.替换语句replace

注意:into可以省略,表在没有设置主键时使用replace命令,只会新增一条命令,replace不生效。使用replace语句向表插入新记录,如果新记录的主键值或者唯一性约束的字段值与已有记录相同,则已有记录先被删除(注意:已有记录删除时也不能违背外键约束条件),再插入新记录。

1.格式一

replace 表名 values(字段1的值,字段2的值) ;

#有主键的t2
mysql8.0 [SLB]>select * from t2;
+----+----------+
| id | name     |
+----+----------+
|  1 | sulibao  |
|  2 | lixinjin |
+----+----------+
2 rows in set (0.00 sec)mysql8.0 [SLB]>replace t2 values(2,"lioahang");
Query OK, 2 rows affected (0.00 sec)mysql8.0 [SLB]>select * from t2;
+----+----------+
| id | name     |
+----+----------+
|  1 | sulibao  |
|  2 | lioahang |
+----+----------+
2 rows in set (0.00 sec)#无主键的t1
mysql8.0 [SLB]>select * from t1;
+------+----------+
| id   | name     |
+------+----------+
|    1 | sulibao  |
|    2 | lixinjin |
|    3 | aaa      |
|    4 | bbb      |
|    5 | ccc      |
+------+----------+
5 rows in set (0.00 sec)mysql8.0 [SLB]>replace t1 values(5,"666");
Query OK, 1 row affected (0.00 sec)mysql8.0 [SLB]>select * from t1;
+------+----------+
| id   | name     |
+------+----------+
|    1 | sulibao  |
|    2 | lixinjin |
|    3 | aaa      |
|    4 | bbb      |
|    5 | ccc      |
|    5 | 666      |
+------+----------+
6 rows in set (0.00 sec)

2.格式二,将其他表的字段复制到本表字段

replace 表名(字段列表) select 字段列表 from 查找条件;

mysql8.0 [SLB]>select * from t1;
+------+----------+
| id   | name     |
+------+----------+
|    1 | sulibao  |
|    2 | lixinjin |
|    3 | aaa      |
|    4 | bbb      |
|    5 | ccc      |
|    5 | 666      |
+------+----------+
6 rows in set (0.00 sec)mysql8.0 [SLB]>replace t2(id,name) select id,name from t1 where id=4;
Query OK, 1 row affected (0.00 sec)
Records: 1  Duplicates: 0  Warnings: 0mysql8.0 [SLB]>select * from t2;
+----+----------+
| id | name     |
+----+----------+
|  1 | sulibao  |
|  2 | lioahang |
|  4 | bbb      |
+----+----------+
3 rows in set (0.00 sec)

3.格式三

replace 表名 set 字段=值,字段=值;

mysql8.0 [SLB]>replace t2 set id=4,name="lixinjin";
Query OK, 2 rows affected (0.00 sec)mysql8.0 [SLB]>select * from t2;
+----+----------+
| id | name     |
+----+----------+
|  1 | sulibao  |
|  2 | lioahang |
|  4 | lixinjin |
+----+----------+
3 rows in set (0.00 sec)

三.修改语句update

修改符合查找条件的字段,可指定修改多个字段

update 表名 set 修改字段=值 查找条件;

mysql8.0 [SLB]>select * from t1;
+------+----------+
| id   | name     |
+------+----------+
|    1 | sulibao  |
|    2 | lixinjin |
|    3 | aaa      |
|    4 | bbb      |
|    5 | ccc      |
|    5 | 666      |
+------+----------+
6 rows in set (0.00 sec)mysql8.0 [SLB]>update t1 set id=6 where name="666";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql8.0 [SLB]>select * from t1;
+------+----------+
| id   | name     |
+------+----------+
|    1 | sulibao  |
|    2 | lixinjin |
|    3 | aaa      |
|    4 | bbb      |
|    5 | ccc      |
|    6 | 666      |
+------+----------+
6 rows in set (0.00 sec)

四.删除语句delete、truncate、drop

1.delete from 表名 查找条件;

删除数据,保留表结构,可以恢复,数据量大时就很

mysql8.0 [SLB]>select * from t2;
+----+-----------+
| id | name      |
+----+-----------+
|  1 | sulibao   |
|  2 | lioahang  |
|  4 | lixinjin  |
|  5 | lixinjin  |
|  6 | sulibao   |
|  8 | lixinjin1 |
+----+-----------+
6 rows in set (0.00 sec)mysql8.0 [SLB]>delete from t2 where name="lioahang";
Query OK, 1 row affected (0.01 sec)mysql8.0 [SLB]>select * from t2;
+----+-----------+
| id | name      |
+----+-----------+
|  1 | sulibao   |
|  4 | lixinjin  |
|  5 | lixinjin  |
|  6 | sulibao   |
|  8 | lixinjin1 |
+----+-----------+
5 rows in set (0.00 sec)

2.truncate table 表名;

 删除所有数据,保留表结构,不可以恢复,一次全部删除所有数据,速度相对delete较快

3.drop table 表名;

直接删除表数据和表结构,速度最快

五.查询语句select

1.基础语法

select */具体字段 from 表名;

mysql8.0 [SLB]>select id,name from t2;
+----+-----------+
| id | name      |
+----+-----------+
|  1 | sulibao   |
|  4 | lixinjin  |
|  5 | lixinjin  |
|  6 | sulibao   |
|  8 | lixinjin1 |
+----+-----------+
5 rows in set (0.00 sec)

2.select配合算术表达式

(1)对数值型数据列、变量、常量可以使用算数操作符创建表达式(+、-、*、/)

注意:

"+"默认只有运算符功能,对于转换成功的值直接相加,转换不成功就将字符型数值视为0,有一方为null值结果就为null值(null值:空值是指不可用、未对其分配值,空值不等于零或空格,任意数据类型都支持空值)

(2)对日期型数据列、变量、常量可以使用部分算数操作符创建表达式(+、-)

(3)可以在列和常量之间、多列之间进行运算

(4)优先级: 乘法和除法的优先级高于加法和减法,同级运算的顺序是从左到右,可以使用括号强行改变优先级

mysql8.0 [SLB]>select * from t3;
+----+------+----------+
| id | day  | permoney |
+----+------+----------+
|  1 |   18 |      300 |
|  2 |   19 |      300 |
|  3 |   25 |      450 |
+----+------+----------+
3 rows in set (0.00 sec)mysql8.0 [SLB]>select id,day,permoney*day from t3;
+----+------+--------------+
| id | day  | permoney*day |
+----+------+--------------+
|  1 |   18 |         5400 |
|  2 |   19 |         5700 |
|  3 |   25 |        11250 |
+----+------+--------------+
3 rows in set (0.00 sec)

(5)安全等于运算符号<=>

用于比较数值大小,真1假0

mysql8.0 [SLB]>select 2<=>2;
+-------+
| 2<=>2 |
+-------+
|     1 |
+-------+
1 row in set (0.00 sec)mysql8.0 [SLB]>select 2<=>3;
+-------+
| 2<=>3 |
+-------+
|     0 |
+-------+
1 row in set (0.00 sec)

判断是否为空

mysql8.0 [SLB]>insert t3(id,day) values(4,26);
Query OK, 1 row affected (0.00 sec)mysql8.0 [SLB]>select * from t3;
+----+------+----------+
| id | day  | permoney |
+----+------+----------+
|  1 |   18 |      300 |
|  2 |   19 |      300 |
|  3 |   25 |      450 |
|  4 |   26 |     NULL |
+----+------+----------+
5 rows in set (0.00 sec)
mysql8.0 [SLB]>select id,day from t3 where permoney<=>null;
+----+------+
| id | day  |
+----+------+
|  4 |   26 |
+----+------+
2 rows in set (0.00 sec)

3.配合as定义字段别名

mysql8.0 [SLB]>select id as "工号",day "工期",permoney "每日工资" from t3;
+--------+--------+--------------+
| 工号   | 工期   | 每日工资     |
+--------+--------+--------------+
|      0 |   NULL |         NULL |
|      1 |     18 |          300 |
|      2 |     19 |          300 |
|      3 |     25 |          450 |
|      4 |     26 |         NULL |
+--------+--------+--------------+
5 rows in set (0.00 sec)

4.处理重复记录

(1)查看重复

mysql8.0 [SLB]>select * from t2;
+----+-----------+
| id | name      |
+----+-----------+
|  1 | sulibao   |
|  4 | lixinjin  |
|  5 | lixinjin  |
|  6 | sulibao   |
|  8 | lixinjin1 |
+----+-----------+
5 rows in set (0.00 sec)mysql8.0 [SLB]>select name from t2;
+-----------+
| name      |
+-----------+
| sulibao   |
| lixinjin  |
| lixinjin  |
| sulibao   |
| lixinjin1 |
+-----------+
5 rows in set (0.00 sec)

(2)distinct清除重复行,可以指定字段范围

mysql8.0 [SLB]>select distinct name from t2;
+-----------+
| name      |
+-----------+
| sulibao   |
| lixinjin  |
| lixinjin1 |
+-----------+
3 rows in set (0.00 sec)


http://www.ppmy.cn/news/128449.html

相关文章

苹果台式机_韩媒曝苹果台式机将首次采用京东方LCD

12月10日&#xff0c;据韩媒Theelec援引业内人士透露&#xff0c;苹果已经从京东方接收27英寸LCD面板进行评估&#xff0c;或将用于生产苹果电脑iMac。 如果顺利&#xff0c;报道提到&#xff0c;这将是iMac系列首次采用京东方面板。 为此&#xff0c;观察者网先后向苹果、京东…

android电视分辨率是多少合适,电视机分辨率多少比较合适,电视机分辨率设置方法!...

今年不少电视厂家发布8K电视&#xff0c;虽然目前的8K片源还比稀缺&#xff0c;但可以看出未来8K还是将主导市场&#xff0c;所以对于电视分辨率也一直是厂家和用户所关注的点之一&#xff0c;下面楼主就来跟大家聊聊小米电视分辨率的那些事&#xff01; 近期不少和我一样的米粉…

电视机的adb调试

电视机型号 海信LED55NU8800U配置参数详细参数 屏幕尺寸&#xff1a;55英寸 经过测试发现 ULED安卓电视的视频应用默认分辨率都是运行在Physical size: 1920x1080 的模式&#xff0c;而不是3840*2160的真正 4k。注意&#xff0c;这里的乘号不是 *&#xff0c;是 x 字母。 在…

笔记本html连接电视机,笔记本怎么连接电视

核心提示&#xff1a;笔记本怎么连接电视 笔记本怎么连接电视?随着社会的快速发展&#xff0c;在我们的日常生活中会遇到各种各样的问题&#xff0c;下面就和康网小编一起来了解一下笔记本怎么连接电视吧。  笔记本怎么连接电视  1…… 笔记本怎么连接电视?随着社会的快速…

LCD

注意&#xff1a;本资料来源于朱友鹏老师的课程的视频&#xff0c;只用于学习使用&#xff0c;如用于其他用途&#xff0c;请联系朱老师本人&#xff0c;不然后果自负&#xff0c;不允许转载&#xff01;&#xff01;&#xff01; LCD的接口技术 从电平角度来讲本质上都是TTL…

ARM LCD 简介

一、LCD简介 1、什么是 LCD &#xff1f; (1) LCD(Liquid Crystal Display) 俗称液晶。 (2) 液晶是一种材料&#xff0c;液晶这种材料具有一种特点&#xff1a;可以在电信号的驱动下&#xff0c;液晶分子进行旋转&#xff0c;旋转时会影响透光性&#xff0c;因此我们可以在整…

网络安全保姆级教程,别再说你学不会了

开始&#xff0c;在选择软件系统方面。很多人会纠结于是使用Linux还是Windows或者Mac系统。 虽然Linux系统看起来很酷&#xff0c;但对于新手来说并不是很友好。 同样&#xff0c;Windows系统也可以通过使用虚拟机装靶机进行学习。所以&#xff0c;直接用window&#xff0c;学…

风头正劲 | 徕芬第三代吹风机正式官宣,1月13日发布

徕芬科技将于2021年1月13日举行新品发布大秀&#xff0c;届时全新的第三代吹风机将会正式和大家见面。徕芬第三代吹风机搭载了行业领先的11万转高速无刷数码马达、气压倍增技术、智能温控技术和减震降噪技术。 徕芬科技历时2年&#xff0c;对全球超过万名以上用户吹风机实际使用…