【数据库】表的增删改(CUD)

发布于:2024-04-19 ⋅ 阅读:(24) ⋅ 点赞:(0)

目录

一、insert 插入

1.单行插入:

2.多行插入:

   (1) insert into 插入:

   (2) replace into 替换插入:

(3) 图片插入 :

 二、update 修改

三、delete 删除


一、insert 插入

语法:

INSERT INTO table_name [(column [,column...])]
VALUES(value [value...]);

  • into、column(列属性)可以省略
  • 插入的数据应与字段的数据类型相同。
  • 数据的长度应在列的规定范围内
  • values 中列出的数据位置必须与被加入的列的排列位置相对应
  • 字符和日期型数据应包含在单引号中
  • 列可以插入空值 [ 前提是该字段允许为空
  • 如果是给表中的所有字段添加数据,可以不写前面的字段名称
  • 默认值的使用,当不给某个字段值时,如果有默认值就会添加默认值,否则报错
    -- 如果某个列 没有指定 not null , 那么当添加数据时,没有给定值,则会默认给 null
    -- 如果我们希望指定某个列的默认值,可以在创建表时指定

1.单行插入:

insert into temp02
(studentno,sname,sex,birthdate,phone )
value ('123456','少爷','男','2002/02/22','12345678910');


2.多行插入:

   (1) insert into 插入:

insert into temp02 values
('212','龙部','男','2002/08/22','12386975201'),
('213','狗屁','男','2003/05/15','12458630244'),
('214','主任','男','2002/06/12','12356752333'),
('215','学委','男','2002/02/26','12111256300'),
('216','花姐','女','2003/01/15','12478596320');


   (2) replace into 替换插入:

  • 使用replace into 在向表中插入数据时,首先尝试插入数据到表中,如果发现表中已经有此行数据(根据主键或者唯一索引判断),则先删除此行数据,然后插入新数据,否则直接插入新数据。
replace into temp02 values
('214','主任','男','2002/06/12','12222222222'),
('215','学委','男','2002/02/26','12555555555');


(3) 图片插入 :

  1. 存放图片的字段要使用 blob类型,blob 是专门存储二进制文件的类型,有大小之分,例如 mediumblob、longblob等,以存储大小不同的二进制文件,一般的图形文件使用mediumblob 就足够了。
  2. 插入图片文件路径的方法是将图片存入指定的文件夹,然后把文件的路径和文件名存入数据库。
#添加一个存储照片的字段 
alter table temp02
add img mediumblob comment '学生照片';
replace into temp02 values
('214','主任','男','2002/06/12','12222222222','C:\Users\Lenovo\Desktop\数据库.png');


 二、update 修改

语法:

UPDATE tble_name

SET col_name1=expr1 [,col name2=expr2 ...]

[WHERE 子句]

  1. where 子句:指定修改条件
  2. set 子句:根据 where 子句中指定的条件对符合条件的数据行进行修改,若语句中没设定 where 子句,则更新所有行。
  3. expr1、expr2等可以是常量、变量或表达式,能够同时修改所在数据行的多个列值,中间用逗号隔开
#将phone 全都改成1111111111
update temp02 set phone = 11111111111;

#将studentno = 216 的学生
# phone 改成 2222222222  birthdate = '2002/02/22'
update temp02 set phone = 22222222222,birthdate = '2002/02/22'
where studentno = '216';


三、delete 删除

语法:

delete[low priority][quick][ignore] from tble_name

[where 子句]

[order by 子句]
[limit row_count]

  1. low_priority:降低 delete 操作的优先级。
  2. quick修饰符:可以加快部分种类的删除操作的速度
  3. ignore:忽略删除过程中的所有错误
  4. from子句:用于指定从何处删除数据
  5. where 子句:指定删除条件,如果省略where子句,则删除该表的所有行
  6. order by子句:各行按照子句中指定的顺序进行删除,此子句只在与limit 联合使用时起作用。
  7. limit 子句:用于告知服务器在控制命令返回到客户端前被删除的行的最大值。
  8. 数据被删除后将不能恢复,因此在执行删除之前一定要对数据做好备份。
#删除 成绩 = 555 的同学
delete from temp02
where entrance = 555;