目录
一、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) 图片插入 :
- 存放图片的字段要使用 blob类型,blob 是专门存储二进制文件的类型,有大小之分,例如 mediumblob、longblob等,以存储大小不同的二进制文件,一般的图形文件使用mediumblob 就足够了。
- 插入图片文件路径的方法是将图片存入指定的文件夹,然后把文件的路径和文件名存入数据库。
#添加一个存储照片的字段
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 子句]
- where 子句:指定修改条件
- set 子句:根据 where 子句中指定的条件对符合条件的数据行进行修改,若语句中没设定 where 子句,则更新所有行。
- 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]
- low_priority:降低 delete 操作的优先级。
- quick修饰符:可以加快部分种类的删除操作的速度
- ignore:忽略删除过程中的所有错误
- from子句:用于指定从何处删除数据
- where 子句:指定删除条件,如果省略where子句,则删除该表的所有行
- order by子句:各行按照子句中指定的顺序进行删除,此子句只在与limit 联合使用时起作用。
- limit 子句:用于告知服务器在控制命令返回到客户端前被删除的行的最大值。
- 数据被删除后将不能恢复,因此在执行删除之前一定要对数据做好备份。
#删除 成绩 = 555 的同学
delete from temp02
where entrance = 555;