超全sql语句(实干派)持续更新

操作数据

查询

  1. 基础查询语句:
查询全部
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 字段 FROMWHERE (某字段 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数据库

  1. 表结构
创建名为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. 增加字段的限制
    一般分为五个约束
    主键约束:数据唯一
    唯一约束:要求该列唯一,允许为空,但只能出现一个空值。
    检查约束:检查字段是否符合条件
    默认约束:设置字段的默认值
    外键约束:用于在两表之间建立关系需要制定引用主表的哪一列。
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	连接多个条件使用andor
			
5.default 默认约束   例:性别
	alter table 表名
	add
	constraint DF_表名_字段名 default() for 字段;
not null 不为空
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值