操作数据
查询
- 基础查询语句:
查询全部
SELECT * FROM 表名称
查询一些字段
SELECT 字段1,字段2 FROM 表名称
条件查询
SELECT * FROM 表名称 where 字段名
排序查询
SELECT * FROM 表名称 order by 字段名
分组查询
SELECT 聚合函数 FROM 表名称 group by 字段名
[例子](https://www.runoob.com/mysql/mysql-group-by-statement.html)
having 在 <分组查询的结果> 上进行筛选操作
例子:在女生中选出年龄超过20岁的总人数
select sex,count(1) from study group by sex having sex > 20
查询一条
SELECT * FROM 表名称 limit 1
查询几条
SELECT * FROM 表名称 limit 1,10
SELECT * FROM 表名称 between 1 and 10
SELECT * FROM 表名称 in(1,10)
模糊查询
SELECT 字段 FROM 表 WHERE (某字段 Like 条件)
条件:通配符
():表示整体
插入数据
INSERT INTO table_name
( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN )
更新数据
UPDATE table_name
SET
field1=new-value1,
field2=new-value2
[WHERE Clause] 更新数据:可以更新多个字段,也可以按条件更新
删除数据
DELETE FROM `user_2` WHERE `id` = 11
常见聚合函数
sum avg count max min 空值不计算
over()开窗函数:将聚合函数的查询结果还原到原来的表中,写在聚合函数的后面
rand()产生随机数
sin cos三角函数
cast()数据类型转换 + decimal(4,1)
联合查询(重点)
操作数据库(数据表结构)
创建
create database demo创建名为xx的数据库
use xx 更改当前的用户
drop database demo 删除xx数据库
- 表结构
创建名为user的表,表中有字段名,与数据类型用逗号隔开
create table user
(number int primary key, name char(50) ..............)
drop table user 删除xx表中的数据同时删除表
delete from user [WHERE Clause] 删除xx表中的数据一行或全部数据但不删除表
控制表中的字段
1.alter table xx add '字段名及数据类型' 增加字段(列)
2.alter table xx alter column '字段名及类型' 修改字段的类型
3.alter table xx drop column ''字段名‘’ 删除xx表中的字段
- 增加字段的限制
一般分为五个约束
主键约束:数据唯一
唯一约束:要求该列唯一,允许为空,但只能出现一个空值。
检查约束:检查字段是否符合条件
默认约束:设置字段的默认值
外键约束:用于在两表之间建立关系需要制定引用主表的哪一列。
1.primary key 主键约束
alter table 表名
add
constraint PK_表名_字段名 primary key(字段名);
2.foreign key 外键约束
alter table Stu_PkFk_Sc
add constraint Fk_s foreign key (sno)
references Stu_PkFk_S(sno)
3.unique 唯一约束 说明:此字段不能出现重复
alter table 表名
add
constraint UQ_表名_字段名 unique(字段);
4.check 检查约束 例:年龄
alter table 表名
add
constraint CK_表名_字段名 check(表达式);
//表达式是一些判断的规则
stuAge>=0 and stuAge<=150 or stuAge is null 连接多个条件使用and和or
5.default 默认约束 例:性别
alter table 表名
add
constraint DF_表名_字段名 default(值) for 字段;
not null 不为空