MySQL学习:表中数据的CRUD

DML:增删改表中数据

1、添加数据
语法:

INSERT INTO 表名(列名1,列名2,…列名n) valves(值1,值2,…值n);

注意:

1、列名和值要一一对应。

2、如果表名后不添加列名,则默认给所有列添加值。

3、除了数字类型,其他类型需要使用引号引起来。(单双引号皆可)

2、删除数据
DELETE FROM 表名 [where条件];

eg:DELETE FROM stu WHERE id=2;

注意:

1、如果不加条件,则删除表中所有记录

DELETE FROM 表名;

(将会删除表中的所有记录(不推荐使用,因为有多少条记录就会执行

多少次删除操作,效率比较低))

2、推荐使用

删除表,然后再创建一个一摸一样的空表

TRUNCATE TABLE 表名;

3、修改数据

语法:

UPDATE 表名 SET 列名1 = 值1,列名2 = 值2,…[where条件];

*注意:

1、如果不加条件,则修改表中所有记录。

DQL:查询表中的记录

SELECT * FROM 表名;

1、语法:
SELECT

字段列表

FROM

表名列表

WHERE

条件列表

GROUP BY

分组字段

HAVING

分组之后的条件

ORDER BY

排序

LIMIT

分页限定

2、基础查询
1、多个字段的查询

SELECT 字段名1,字段名2… FROM 表名;

*注意:

如果查询所有字段,则可以使用*来代替字段列表。(公司可能不让用)

2、去除重复

SELECT DISTINCT adress FROM student;

3、计算列

一般可以使用四则运算计算一些列的值。(一般只会进行数值型的运算)

ifnull(表达式1,表达式2):

*表达式1:哪个字段需要判断是否为null

*表达式2:如果该字段为null的替换值。

eg:SELECT NAME,math,english,math+english AS 总分 FROM student;

    SELECT NAME,math,english,math+ifnull(english,0) AS 总分 FROM student;

4、起别名

*as:as也可以省略

eg:SELECT NAME,math,english,math+english AS 总分 FROM student;

    SELECT NAME,math,english,math+english 总分1 FROM student;

3、条件查询
1、where子句后跟条件

2、运算符

*>、<、<=、>=、=、<>

eg:select * from student where age >= 20;

    select * from student where age = 20;

*不等于

        SELECT * FROM student WHERE age != 20;

        SELECT * FROM student WHERE age <> 20;

SELECT * FROM student WHERE age >=20 && age <=30;(不推荐使用)

SELECT * FROM student WHERE age >=20 AND age <=30;

*between…and

eg:SELECT * FROM student WHERE age BETWEEN 20 AND 30;(大于等于20,小于等于30)

*in(集合)

eg:SELECT * FROM student WHERE age = 22 OR age = 19 OR age = 25;

     SELECT * FROM student WHERE age IN (22,18,25);

*like:模糊查询

*占位符:

_:单个任意字符

%:多个任意字符

eg:
SELECT * FROM student WHERE NAME LIKE ‘马%’;–查姓马的人

SELECT * FROM student WHERE NAME LIKE ‘_化%’;–名字第二个字是化的人

SELECT * FROM student WHERE NAME LIKE ‘___’;–查名字是三个字的人

SELECT * FROM student WHERE NAME LIKE ‘%马%’;–查姓名中包含马的人

*is null

eg:
SELECT * FROM student WHERE english = NULL;–不对的,null值不能用 = !=判断

SELECT * FROM student WHERE english IS NULL;

SELECT * FROM student WHERE english IS NOT NULL;

*or 或 ||

*not 或 !

发布了25 篇原创文章 · 获赞 2 · 访问量 353

猜你喜欢

转载自blog.csdn.net/qq_41628448/article/details/104497710