语法形式1:
sqlINSERT INTO 表名
VALUES (数据)
# 要求数据的类型要和表中字段的类型一一对应,否则就是添加失败
例:
sql#查看添加之前表的数据
SELECT * FROM mytable
#添加数据
INSERT INTO mytable
VALUES ('111',18,'123456789')
#添加成功之后,再查看表的数据
SELECT * FROM mytable
语法形式2:
sqlINSERT INTO 表名(字段1,字段2……)
VALUES (数据)
# 数据和上面的字段类型要一致,否则也会添加失败
例:
sqlINSERT INTO mytable(age,number)
VALUES (20,'110')
没有进行赋值的sno
的值就是NULL
。
如何同时插入多组数据:
sqlINSERT INTO 表名(字段1,字段2)
VALUES
(数据),
(数据),
(数据),
(数据),
……;
例:
sqlINSERT INTO mytable(number,age,sno)
VALUES ('120',20,'222'),
('119',21,'333'),
('54188',22,'666');
语法形式:
sqlINSERT INTO 表名(字段1,字段2……)
SELECT的查询语句
例:
sqlINSERT INTO mytable(sno)
SELECT sno
FROM student
WHERE sex='女'
语法形式:
sqlUPDATE 表名
SET 字段1,字段2,…… #需要修改的字段
WHERE …… # 如果不加WHERE,就是对该字段下的 所有内容进行修改了
例:
sqlUPDATE mytable
SET sno='521'
WHERE sno='001103'
如果把WHERE
去掉,结果如下图所示:
语法形式:
sqlDELETE FROM 表名
WHERE #如果不加WHERE,就是清空全部的数据
例:
sqlDELETE FROM mytable
WHERE number IS NULL
这个新特性就是该列(字段)是由其他字段自动计算出来的结果
sqlCREATE TABLE mytest
(
a INT,
b INT,
c INT GENERATED ALWAYS AS (a+b) VIRTUAL
);
INSERT INTO mytest(a,b)
VALUES (2,1);
SELECT * FROM mytest;
当你更改数据的时候,c的值也自动更改
sqlUPDATE mytest
SET a=10
WHERE a=2