MySQL操作语句

DDL(操作数据库):

1.查询

SHOW DATABASES;

2.创建

   创建数据库

CREATE DATABASE 数据库名称;

   创建数据库(判断,如果不存在则创建)

CREATE DATABASE IF NOT EXISTS 数据库名称;

3.删除

   删除数据库

DROP DATABASE 数据库名称;

   删除数据库(判断,如果存在则删除)

DROP DATABASE IF NOT EXISTS 数据库名称;

4.使用数据库

   查看当前使用的数据库

SELECT DATABASE();

   使用数据库

USE 数据库名称;

DML(操作数据):

添加数据

        1.给指定列添加数据

INSERT INTO 表名 (列名1,列名2,...) VALUES(值1,值2,...);

例如:

INSERT INTO stu ( id, NAME )
VALUES
    ( 1, '张三' );

        2.给全部列添加数据(列名可省略)

INSERT INTO 表名 VALUES(值1,值2,...);

例如:

INSERT INTO stu ( id, NAME, sex, birthday, score, email, tel, STATUS )
VALUES
    ( 2, '李四', '男', '1999-11-11', '90.11', 'lisi@163.com', '13888888888', 1 );

INSERT INTO stu
VALUES
    ( 2, '李四', '男', '1999-11-11', '90.11', 'lisi@163.com', '13888888888', 1 );

        3.批量添加数据(全部列都添加数据时列名可省略)

INSERT INTO 表名(列名1,列名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;

INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...)...;

例如:

INSERT INTO stu
VALUES
    ( 2, '李四', '男', '1999-11-11', '90.11', 'lisi@163.com', '13888888888', 1 ),
    ( 2, '李四', '男', '1999-11-11', '90.11', 'lisi@163.com', '13888888888', 1 ),
    ( 2, '李四', '男', '1999-11-11', '90.11', 'lisi@163.com', '13888888888', 1 );

修改数据

        1.修改表数据

UPDATE 表名 SET 列名1=值1,列名2=值2,... [WHERE 条件];

注意:修改语句中如果不加任何条件,则将所有数据都修改!

例如:

UPDATE stu set sex='女' where name = '张三';

删除数据

        1.删除数据

DELETE FROM 表名 [WHERE 条件];

注意:删除语句中如果不加任何条件,则将所有数据都修改!

例如:

DELETE FROM stu WHERE name = '张三';

DQL(查询数据):

查询语法

SELECT

        字段列表

FROM

        表名列表

WHERE

        条件列表

GROUP BY

        分组字段

HAVING

        分组后条件

ORDER BY

        排序字段

LIMIT

        分页限定

基础查询

        1.查询多个字段

SELECT 字段列表 FROM 表名;

SELECT * FROM 表名;-- 查询所有数据

例如:

SELECT

    name,
    age 
FROM
    stu;

        2.去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

例如:

SELECT DISTINCT
    address 
FROM

    stu;

        3.起别名

AS:AS 也可以省略 

例如:

SELECT

    name,
    math AS 数学成绩,
    english AS 英语成绩 
FROM
    stu;

条件查询

         1.条件查询语法

SELECT 字段列表 FROM 表名 WHERE 条件列表;

例如:

SELECT
    *
FROM
    stu
WHERE

    age >= 20 AND age <= 30;

        2.条件

符号功能
>大于
<小于
>=大于等于
<=小于等于
=等于
<> 或 !=不等于
BETWEEN...AND...在某个范围之内(都包含)
IN(...)多选一
LIKE 占位符模糊查询 _单一任意字符 %多个任意字符
IS NULL是NULL
IS NOT NULL不是 NULL
AND 或 &&并且
OR 或 ||或者
NOT 或 !非,不是

排序查询

        1.排序查询语法

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2] ...;

排序方式:

ASC:升序排列(默认值)

DESC:降序排列

注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

例如:

SELECT

    *

FROM

    stu

ORDER BY

    math DESC,english ASC;

聚合函数 

        1.概念:

                    将一列数据作为一个整体,进行纵向计算。

        2.聚合函数分类:

函数名功能
count(列名)统计数量(一般选用不为null的列)
max(列名)最大值
min(列名)最小值
sum(列名)求和
avg(列名)平均值

         3.聚合函数语法:

SELECT 聚合函数名(列名) FROM 表;

注意:null值不参与所有聚合函数运算

例如:

SELECT

    COUNT(id)

FROM

    stu;

分组查询 

        1.分组查询语法

SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];

注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

where和having区别:

执行时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤。

可判断的条件不一样:where不能对聚合函数进行判断,having可以。

执行顺序:where>聚合函数>having

例如:

SELECT sex, AVG( math ), COUNT( * ) FROM stu WHERE math > 70 
GROUP BY
    sex 
HAVING
    COUNT( * ) > 2;

分页查询 

        1.分页查询语法

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;

起始索引:从0开始

计算公式:起始索引=(当前页码-1)*每页显示的条数

例如:

SELECT
    * 
FROM
    stu 
    LIMIT 3,
    3; 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值