9_数据的增删改查(重点)

引言-增删改查(curd)

curd的解释: 代表创建(Create)、更新(Update)、读取(Retrieve)和删除(Delete)

一、增加insert

1.1 全列插入

  • 全列插入:值的顺序与表中字段的顺序对应

  • 说明:主键列是自动增长,但是在全列插入时需要占位,通常使用0或者 default 或者 null 来占位,插入成功后以实际数据为准

  • 如果一个表中只有两个字段,并没有指明给哪个字段插入,这个时候必须是全部插入(少一个字段都不行)

-- insert into 表名 values(...);


-- 向classes表中插入 一个班级
insert into classes values(0, "菜鸟班");

-- 向students表插入 一个学生信息
insert into students values(0, "小李飞刀", 20, "女", 1, "1990-01-01");
insert into students values(null, "小李飞刀", 20, "女", 1, "1990-01-01");
insert into students values(default, "小李飞刀", 20, "女", 1, "1990-01-01");

-- 枚举中 的 下标从1 开始 1---“男”, 2--->"女", 3--->"中性"....
insert into students values(default, "小李飞刀", 20, 1, 1, "1990-02-01");

-- 失败
-- insert into students values(default, "小李飞刀", 20, "第4性别", 1, "1990-02-01");

+--------+-------------------------------------+------+-----+------------+----------------+
| Field  | Type                                | Null | Key | Default    | Extra          |
+--------+-------------------------------------+------+-----+------------+----------------+
| id     | int(10) unsigned                    | NO   | PRI | NULL       | auto_increment |
| name   | varchar(30)                         | YES  |     | NULL       |                |
| age    | tinyint(3) unsigned                 | YES  |     | 0          |                |
| gender | enum('男','女','中性','保密')         | YES  |     | 保密        |                |
| cls_id | int(10) unsigned                    | YES  |     | NULL       |                |
| birth  | date                                | YES  |     | 2000-01-01 |                |
+--------+-------------------------------------+------+-----+------------+----------------+

1.2 部分列插入

  • 部分列插入:值的顺序与给出的列顺序对应
  • 一次向表中插入一行数据
-- insert into 表名 (列名1,...) values (值1,...);

insert into students (name, gender) values ("小乔", 2);

1.3 多行插入

  • 多行插入:值的顺序与给出的列顺序对应
  • 一次性插入多行数据,这样可以减少与数据库的通信

1.3.1 全列-多行插入

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

insert into students values(default, "西施", 20, "女", 1, "1990-01-01"), (default, "王昭君", 20, "女", 1, "1990-01-01");

1.3.2 部分列-多行插入

-- insert into 表名 (列名1,列名2...) values(值1,...),(值1,...)...;

insert into students (name, gender) values ("大乔", 2),("貂蝉", 2);

二、删除delete

2.1 物理删除

-- delete from 表名 where 条件;

delete from students; -- 整个数据表中的所有数据全部删除
delete from students where id=5;

2.2 逻辑删除

  • 逻辑删除,本质就是修改操作
update students set isdelete=1 where id=1;

-- 用一个字段来表示-这条信息已经不再使用了
-- 给students表添加一个is_delete字段 bit 类型(0或1)
alter table students add is_delete bit default 0;
update students set is_delete=1 where id=6;

三、修改update

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

update students set gender=1; -- 全部都改为男性
update students set gender=2 where name="小李飞刀"; -- 只要name是小李飞刀的,全部修改为‘女性’
update students set gender=1 where id=3; -- 只要id为3的,进行修改
update students set age=22, gender=1 where id=3; -- 只要id为3的,进行修改

四、查询select

4.1 查询所有列

  • 数据量少使用
-- select * from 表名;

select * from students;

4.2 指定条件查询

select * from students where name="小李飞刀"; -- 查询 name为小李飞刀的所有信息
select * from students where id>3; -- 查询 id>3 的所有信息

4.3 查询指定列

-- select 列名1,列名2,... from 表名;

select name,gender from students;

4.3.1 使用as为列或表指定别名

-- select 字段 as 别名 ,字段 as 别名 from 表名 where ....;
select name as 姓名, gender as 性别 from students;

-- 字段的顺序
select id as 序号, gender as 性别, name as 姓名 from students; -- 把 性别 放在 姓名 前
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> [removed] function add() { var n1=document.getElementById("textfield").value; var n2=document.getElementById("textfield2").value; var result=parseFloat(n1)+parseFloat(n2); document.getElementById("textfield3").value=result; } function subt(){ var n3=document.getElementById("textfield").value; var n4=document.getElementById("textfield2").value; var result=parseFloat(n3)+parseFloat(n4); document.getElementById("textfield3").value=result; } function mult(){ var n1=document.getElementById("textfield").value; var n2=document.getElementById("textfield2").value; var result=parseFloat(n1)+parseFloat(n2); document.getElementById("textfield3").value=result; } function div(){ var n1=document.getElementById("textfield").value; var n2=document.getElementById("textfield2").value; var result=parseFloat(n1)+parseFloat(n2); document.getElementById("textfield3").value=result; } [removed] </head> <body> <form action="" method="get"> <p> <label for="textfield">请输入第一个数:</label> <input type="text" name="textfield" id="textfield" /> </p> <p>请输入第二个数字: <input type="text" name="textfield2" id="textfield2" /> </p> <p> <input type="button" name="button" id="button" value="+" /> <input type="button" name="button2" id="button2" value="—" /> <input type="button" name="button3" id="button3" value="*" /> <input type="button" name="button4" id="button4" value="/" /> </p> <p> <label for="textfield3">结果:</label> <input type="text" name="textfield3" id="textfield3" /> </p> </form> </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少云清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值