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 王子 18 男 123 北京 110
2 公主 20 女 456 上海 220
3 太子 23 男 789 南京 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()
|