Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MySQL_3 MySQL数据库数据管理_DML(INSERT、UPDATE、DELETE) #22

Open
Qingquan-Li opened this issue Jan 13, 2017 · 0 comments
Open
Labels

Comments

@Qingquan-Li
Copy link
Owner

Qingquan-Li commented Jan 13, 2017

本篇博客(第三篇)重点:

使用 MySQL 语句添加(INSERT)数据(属于 DML 数据操作语言)
使用 MySQL 语句修改(UPDATE)数据(属于 DML)
使用 MySQL 语句删除(DELETE)数据(属于 DML)

添加(INSERT)数据

INSERT 命令

语法:

 INSERT INTO 表名 [(字段1,字段2,字段3, … ] VALUES ('值1', '值2', '值3', … )

注意:

  • 字段或值之间用英文逗号隔开
  • “字段1,字段2,字段3, … ”该部分可省略,但添加的值务必与表结构数据列顺序相对应,且数量一致
  • 可同时插入多条数据,values 后用英文逗号隔开

实例一:
使用INSERT语句给数据表grade添加数据,数据列 GradeName :大一、大二、大三、大四

insert into `grade`(`GradeID`,`GradeName`) values (1,'大一'),(2,'大二'),(3,'大三'),(4,'大四');

实例二:
使用INSERT语句给数据表 student 添加数据

insert into student
(StudentNo,StudentName,Sex,GradeId,Phone,Address,Email,IdentityCard)
values
(003,"张三",1,1,"13133333333","北京","zhangsan@gmail.com","113333333333333333"),
(004,"李四",1,2,"13244444444","上海","lisi@163.com","314444444444444444"),
(005,"王五",2,3,"13355555555","广州","wangwu@qq.com","445555555555555555")
学号 姓名 性别 年级 手机号 地址 邮箱 身份证
003 张三 1 1 13133333333 北京 zhangsan@gmail.com 113333333333333333
004 李四 1 2 13244444444 上海 lisi@163.com 314444444444444444
005 王五 2 3 13355555555 广州 wangwu@qq.com 445555555555555555


修改(UPDATE)数据

UPDATE 命令

语法:

UPDATE 表名 SET column_name = value [ , column_name2 = value2, … ] [ WHERE condition ];

注意

  • column_name 为要更改的数据列
  • value 为修改后的数据,可以为变量、具体值、表达式或者嵌套的 SELECT 结果
  • condition 为筛选条件,如不指定则修改该表的所有列数据

WHERE 条件子句

简单理解为有条件地从表中筛选数据

WHERE中的运算符:

运算符 含义 范例 结果
= 等于 5=6 false
<> 或 != 不等于 5!=6 true
> 大于 5>6 false
< 小于 5<6 true
>= 大于等于 5>=6 false
<= 小于等于 5<=6 true
BETWEEN 在某个范围之间 BETWEEN 5 AND 10 -
AND 并且 5>1 AND 1>2 false
OR 5>1 OR 1>2 true

实例一:

使用UPDATE语句修改数据,将 student 数据表中数据列学号 StudentNo 为 1024 的学生的邮箱修改为 student1024@gmail.com ,密码 LoginPwd 改为 256:

UPDATE student SET email="student1024@gmail.com" , LoginPwd="256" WHERE StudentNo = "1024";

实例二:
将数据表 subject 中 ClassHour 大于 110 且 GradeID 为 1 的课时都减少 10

UPDATE subject SET ClassHour = ( ClassHour - 10 ) WHERE ClassHour>110 and GradeID = 1;


删除(DELETE)数据

DELETE 命令

语法:

DELETE FROM 表名 [ WHERE condition ];  

注意: condition 为筛选条件,如不指定则删除该表的所有列数据

注意:
由于数据库的数据删除后不能恢复,所以在执行 DELRTR 语句之前,建议使用 SELECT 确认一下要删除的数据(例如用 SELECT * FROM pages WHERE id = 1 查看),然后把 SELECT * 换成 DELETE 就可以的,这会是一个好习惯。
很多程序员都有过一些 DELETE 误操作的伤心往事,还有一些恐怖故事就是有人慌乱中忘了在语句中放 WHERE ,结果把所有客户数据都删除了。

TRUNCATE 命令

用于完全清空表数据,但表结构、索引、约束等不变

语法:

TRUNCATE [TABLE] table_name 

注意 DELETE 命令 和 DELETE命令:

  • 相同:
    • 都能删除数据、不删除表结构,但TRUNCATE 速度更快
  • 不同:
    • 使用 TRUNCATE TABLE 重新设置 AUTO_INCREMENT 计数器
    • 使用 TRUNCATE TABLE不会对事务有影响

@Qingquan-Li Qingquan-Li changed the title MySQL_3 MySQL数据库数据管理_DML MySQL_3 MySQL数据库数据管理_DML(INSERT、UPDATE、DELETE) May 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant