概念:
**语法: **INSERT INTO 表名(列1, 列2, 列3…) VALUES(值1, 值2, 值3…);
代码演示:
新增一条数据:
# 新增一条数据
insert into student
(stu_id,stu_name,stu_age,stu_gender,stu_address,stu_born)
values(101,'张三',20,'男','北京昌平','2000-1-1');
新增多条数据:
# 新增多条数据
insert into student
values(102,'李四',21,'男','北京海淀','2000-1-1'),
(103,'张说',20,'男','北京朝阳','2000-1-1'),
(104,'张玖',20,'男','北京通州','2000-1-1'),
(105,'赵六',20,'男','北京大兴','2000-1-1'),
(106,'王五',20,'男','北京怀柔','2000-1-1'),
(107,'张利',20,'男','北京昌平','2000-1-1');
部分列添加数据:
# 部分列添加数据
insert into student(stu_id,stu_name,stu_address)
values(108,'刘备','四川'),(109,'曹操','河南'),(110,'孙权','哈尔滨');
注意:表名后的列名和VALUES里的值要一一对应(个数、顺序、类型)
语法: UPDATE 表名 SET 列1=新值1 ,列2 = 新值2,… WHERE 条件;
代码演示:
# 2 修改
# 需求: 修改学号为101的 年龄加5 地址改为'北京昌平沙河'
update student set stu_age = stu_age+5, stu_address = '北京昌平沙河' where stu_id = 101;
注意:
**语法: **DELETE FROM 表名 WHERE 条件;
代码演示:
delete:
# 3 删除
# 需求: 删除学号为102的学生信息
delete from student where stu_id=102;
注意: 删除时,如若不加WHERE条件,删除的是整张表的数据。
语法: TRUNCATE TABLE 表名;
代码演示:
truncate table:
# 使用 truncate table 表名 清空数据, 先删除表, 再新建表, 只能整表删除..
truncate table student;
注意: delete 和 truncate 的区别
DELETE是清空整张表的数据,不释放空间;TRUNCATE是把表销毁,再按照原表的结构创建一张新表,释放空间。
TRUNCATE速度比DELETE快。
DELETE属于DML语句,可以回滚,TRUNCATE属于DDL语句,不可以回滚。
MySQL支持多种类型,大致可以分为三类:
数据类型可以用来约束数据的类型。
类型 | 大小 | 范围(有符号) | 范围(无符号) |
---|---|---|---|
INT | 4字节 | (-2147483648,2147483647) | (0,4294967295) |
DOUBLE | 8字节 | (-1.797E+308,-2.22E-308) | (0,2.22E-308,1.797E+308) |
DOUBLE(M,D) | 8字节 | DOUBLE(5,2) ,-999.99-999.99 | M表示位数最大值65,D表示小数位数 |
DECIMAL(M,D) | 8字节 | DECIMAL(5,2) ,-999.99-999.99 | 同上 |
类型 | 大小 | 用途 |
---|---|---|
CHAR | 0-255字符 | 定长字符串 char(10)10个字符。优点:查询速度快;缺点:浪费空间 |
VARCHAR | 0-65535字符 | 变长字符串 varchar(10)10个字符 优点:节省空间;缺点:查询速度慢 |
BLOB | 0-65535字节 | 存储二进制形式的文件数据 |
TEXT | 0-65535字节 | 存储长文本文件数据 |
注: MySQL中每条记录最大长度64k。
类型 | 大小 | 范围 | 格式 | 用途 |
---|---|---|---|---|
DATE | 3字节 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3字节 | -838:59:59’/'838:59:59 | HH:MM:SS | 时间值或持续时间 |
YEAR | 1字节 | 1901/2155 | YYYY | 年份值 |
DATETIME | 8字节 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4字节 | 1970-01-01 00:00:00/2038 结束时间是北京时间 2038-1-19 11:14:07格林尼治时间 2038年1月19日 凌晨 03:14:07 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |