MySQL 之操作表中数据

插入记录

插入全部字段

所有的字段名都写出来

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 条件;

 

          

你可能感兴趣的:(MySQL 之操作表中数据)