Mysql数据库的基本语法

举报
旧时光里的温柔 发表于 2022/03/12 13:43:17 2022/03/12
【摘要】 1.查询select * from 表名;示例: select * from student where id=1  -- 查询id=1学生的所有信息2.添加insert into 表名  values(添加的数据,对应表中的列);insert into 表名(列1,列2,列3...) values(列1对应的值,列1对应的值,列1对应的值...)3.更新update 表名 set 更新的数...

1.查询

select * from 表名;

示例: select * from student where id=1  -- 查询id=1学生的所有信息

2.添加

insert into 表名  values(添加的数据,对应表中的列);

insert into 表名(列1,列2,列3...) values(列1对应的值,列1对应的值,列1对应的值...)

3.更新

update 表名 set 更新的数据 where 条件;

示例:
        update clazz set teacher_name = '王鹏飞' where id = 2
        --将所有同学的年龄+1
        update student set age = age+1 

4.删除

delete from 表名 where 条件; 删除表中的内容

truncate table 表名   删除表

5.函数

        1). sum函数:用于计算数值型的列的总和,值为Null的将被忽略
    语法:select sum(列名) from 表名 [where 条件表达式]
    示例: select sum(score) as Java成绩总和 from stu_marks where subject='Java' --查询java成绩的总和

        2). avg:用于计算数值型的列的总和,值为Null的将被忽略
    select sum(列名) from 表名 [where 条件表达式]
    示例: select avg(score) as Java平均成绩 from stu_marks where subject='Java' --查询java成绩的平均值

        3). max:用于计算数值型的列里面最大的值,值为Null的将被忽略
    select sum(列名) from 表名 [where 条件表达式]
    示例: select max(score) as Java最高成绩 from stu_marks where subject='Java' --查询java的最高成绩

        4). min:用于计算数值型的列里面最大的值,值为Null的将被忽略
    select min(列名) from 表名 [where 条件表达式]
    示例: select min(score) as Java最低成绩 from stu_marks where subject='Java' --查询java的最低成绩
    
        5). count:用于统计查询的列一共有几行数据
    select min(列名) from 表名 [where 条件表达式]
    示例: select count(*) as Java考试学生数 from stu_marks where subject='Java' --查询参加java考试的学生数
    
        6). 查询结果分组,将指定列的值相同的行进行分组:group by 列名,指定的列必须出现在查询列或者聚合函数中
    示例: select subject as 科目,avg(score) as 人数 from stu_marks group by subject --分别统计每个科目的平均分 

6. 给表添加约束(简便方法是在创建表的时候就写上约束)

    添加主键约束:alter table 表名 add constraint PK_列名 primary key(列名)
    添加唯一约束:alter table 表名 add constraint UQ_列名 unique(列名)
    添加外键约束:alter table 表名 add constraint FK_列名 foreign key(列名) references 外部表(外部表对应的列)
    添加检查约束:alter table 表名 add constraint CK_列名 check(检查条件)
    添加默认值约束: alter table 表名 add constraint DF_列名 default(默认值)

7. where筛选条件
    判断值相等: 列名=值 ,比如:where age=2
    判断值不相等: 列名<>值,比如: where age<>2
    判断值在某个区间内: between x and y ,比如判断年龄在18到50岁: where age between 18 and 50
    判断值在某个已知值的范围内: in ,比如判断id在1,3,5内 :  where id in(1,3,5)
    判断值是空值:where teacher_name is null   --查询教师名字是空的那些数据
    判断同时满足多个条件:where id in (1,3,5) AND sex = '女' --判断性别为女,同时id在1,3,5范围内的数据
    判断满足多个条件其中任意一个:where id in (1,3,5) AND sex = '女'  -- 判断性别为女,或者id在1,3,5范围内的数据
    
8. 模糊匹配:like 或 not like
    %: 匹配0个或任意个字符,比如:'李%',匹配'李'开头的字符串
    _: 匹配任意一个字符,比如:'李_',匹配'李'开头的字符串,并且后面只跟一个字符
    []: 匹配方括号里面其中任意一个字符,比如:'李[四五六]',匹配李四或者李五或者李六
    [^]:匹配任意一个字符,除了方括号里的字符:'李[^四五六]',匹配李八或者李九,但是不匹配李四或者李五或者李六
    
9. 查询结果排序: order by 列名 升序或者降序

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。