Mysql数据库的基本语法

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 列名 升序或者降序
    比如:select * from student order by class_id asc,name desc --查询所有学生信息,返回的结果按class_id升序,name降序排列
 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月与清酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值