插入记录
插入全部字段
所有的字段名都写出来
INSERT INTO 表名 (字段名1, 字段名2, 字段名3, ...) VALUES (值1, 值2, 值3, ...);
或
不写字段名
INSERT INTO 表名 VALUES (值1, 值2, 值3, ...);
插入部分数据
INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...);
备注:
1、插入的数据应与字段的数据类型相同 2、数据的大小应在列的规定范围内,例如:不能将一个长度为 80 的字符串加入到长度为 40 的列中。 3、在 values 中列出的数据位置必须与被加入的列的排列位置相对应。 4、字符和日期型数据应包含在单引号中。 5、不指定列或使用 null,表示插入空值。
蠕虫复制
蠕虫复制:将一张已经存在的表中的数据复制到另一张表中。
语法格式
将“表名2”中的所有的列复制到“表名1”中
INSERT INTO 表名1 SELECT * FROM 表名2;
只复制部分列
INSERT INTO 表名1 (列1, 列2, ...) SELECT (列1, 列2, ...) FROM 表名2;
更新表记录
不带条件修改数据
不带条件的修改数据,即修改所有的行。
UPDATE 表名 SET 字段名=值;
如:
UPDATE students SET name='哆啦A梦';
将students表中,字段名为name的值都修改为 哆啦A梦
带条件修改数据
UPDATE 表名 SET 字段名=值 WHERE 字段名=值;
如:
UPDATE students SET name='哆啦A梦' WHERE id=2018001;
将students表中,字段名为name的值修改为 哆啦A梦,前提是id=2018001
删除表记录
不带条件删除数据
DELETE FROM 表名;
带条件删除数据
DELETE FROM 表名 WHERE 字段名=值;
使用 truncate 删除表中所有记录
TRUNCATE TABLE 表名;
truncate 和 delete 的区别
truncate 相当于删除表的结构,再创建一张表。
查询表中的数据
简单查询
查询表所有行和列的数据
SELECT * FROM 表名;
查询指定列
SELECT 字段名1, 字段名2, 字段名3, ... FROM 表名;
指定列的别名进行查询
对列指定别名
SELECT 字段名1 AS 别名1, 字段名2 AS 别名2, ... FROM 表名;
如:
SELECT name AS '姓名', age AS '年龄' ... FROM students;
查看students表中的name字段和age字段的记录,其中name字段指定别名为 "姓名",age字段指定别名为 "年龄"。
对列和表同时指定别名
SELECT 字段名1 AS 别名1, 字段名2 AS 别名2, ... FROM 表名 AS 别名;
如:
SELECT name AS '姓名', age AS '年龄' ... FROM students AS '学生信息表';
查看students表中的name字段和age字段的记录,其中name字段指定别名为 "姓名",age字段指定别名为 "年龄",students表指定别名为 "学生信息表"。
清除重复值
查询指定列并且结果不出现重复数据
SELECT DISTINCT 字段名 FROM 表名;
如:
-- 查询学生来至于哪些地方 select address from student; -- 去掉重复的记录 select distinct address from student;
查询学生来至于哪些地方
查询结果参与运算
某列数据和固定值运算
SELECT 列名1 + 固定值 FROM 表名;
某列数据和其他列数据参与运算
SELECT 列名1 + 列名2 FROM 表名;
注意: 参与运算的必须是数值类型
条件查询
如果没有查询条件,则每次查询所有的行。实际应用中,一般要指定查询的条件。对记录进行过滤。
条件查询的语法:
SELECT 字段名 FROM 表名 WHERE 条件;