0
点赞
收藏
分享

微信扫一扫

2: DML操作(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)增删改

小禹说财 2022-05-04 阅读 79
javasql

DML是对表中的数据进行增、删、改的操作。不要与DDL混淆了。
主要包括:INSERT 、UPDATE、 DELETE
小知识:
1:在mysql中,字符串类型和日期类型都要用单引号括起来。
2:空值:null

(1)插入操作:INSERT:

insert into 表名(列名) values(数据值);

在这里插入代码片
insert into student(stuname,stuage,stusex,birthday) values('张三1',18,'a','2000-
1-1');

– 注意:
1多列和多个列值之间使用逗号隔开。
2.列名要和列值一一对应。
3. 非数值的列值两侧需要加单引号。
常见错误: Data too long for column ‘stusex’ at row 1

**
4.添加数据的时候可以将列名省略->当给所有列添加数据的时候
此时列值的顺序按照数据表中列的顺序执行
insert into student values(‘李四’,12,‘1111’,189.98,‘2000-1-1’,‘男’,‘2007-1-1’);

**
5.同时添加多行

insert into 表名(列名) values(第一行数据),(第二行数据),(第三行数据),(第四行数据);
insert into student(stuname,stuage,stusex,birthday)
values('张三3',18,'a','2000-1-1'),
('张三4',18,'a','2000-1-1'),
('张三5',18,'a','2000-1-1'),
('张三6',18,'a','2000-1-1'),
('张三7',18,'a','2000-1-1'),
('张三8',18,'a','2000-1-1');

注意总结:
1:列名与列值的类型、个数、顺序要一一对应。
2:参数值不要超出列定义的长度。
3:如果插入空值,请使用null
4:插入的日期和字符一样,都使用单引号括起来。数值的列值直接写,不需要单引号

sql中的运算符:

(1)算术运算符:+,-,*,/(除法),求余(%)

示例:
 5/2
 5%2
 2/5
 2%5

(2)赋值运算符:

注:赋值方向:从右往左赋值
 示例: name='张三'

(3) 逻辑运算符:

and(并且),or(或者),not(取非)
 作用:用于连接多个条件时使用

(4) 关系运算符:

>,<,>=,<=,!=(不等于),=(等于),<>(不等于)
补充:查询所有数据:select * from 表名

(2)修改(更新)操作:UPDATE:

语法:UPDATE 表名 SET 列名1=列值1,列名2=列值2 ... WHERE 列名=

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)删除操作:DELETE:

语法 : DELETE from 表名 【WHERE 列名=值】

练习 :
**

- DELETE 删除表中的数据,表结构还在;删除后的数据可以找回
- TRUNCATE 删除是把表直接DROP掉,然后再创建一个同样的新表。
- 删除的数据不能找回。执行速度比DELETE快。

**

练习题:

 Manager(管理员表):
 mid 编号 int (主键)
 mname 名字 varchar(20)
 age 年龄 int
 sex 性别 char(2)
 password 密码 varchar(20)
 address 地址 varchar(20)
 phone 电话 varchar(20)
 数据:
将所有员工薪水修改为5000元。
将姓名为’zs’的员工薪水修改为3000元。
将姓名为’aaa’的员工薪水修改为4000,resume改为ccc。
将wu的薪水在原有基础上增加1000元。
删除表中名称为’zs’的记录。
删除表中所有记录。
使用truncate删除表中记录。
TRUNCATE TABLE emp; 1 王子 18123 北京 110
 2 公主 20456 上海 220
 3 太子 23789 南京 330
 
 需求:
 (1)创建表
 (2)将数据插入到表中
 (3)将王子的年龄修改为24
 (4)将地址是南京的管理员改为天津
 (5)将性别是女,并且年龄大于30的用户密码改为888888
 (6)将所有用户的密码恢复最初设置111111
 (7)将员工的电话中不是110的电话号码改为7654321 
 (8)将王子的年龄改为18,地址改为承德,性别改为女
 (9) 删除王子的信息
 (10)删除地址在南京并且年龄大于60的员工信息
 (11)删除不在北京的员工信息
 (12)删除地址在北京或上海的员工信息 
 (13)删除电话号码是空的员工信息

小结:
为空的条件:列名 is null or 列名=‘’
注:两个单引号表示空字符串

日期类型值的区别:
 date:yyyy-MM-dd (年月日)
 time:hh:mm:ss (时分秒)
 datetime:yyyy-MM-dd hh:mm:ss (年月日时分秒)
 获取当前系统时间:now()
举报

相关推荐

0 条评论