必知必会——SQL语句基本语法整理
一、数据库表
1. 新建数据库
2. 新建数据库表
create table 表名(列名1 数据类型 [约束条件] ,列名2 数据类型 [约束条件] ,…… ) ''' 创建一个demo1表 a列数据类型为int,是主键 b列数据类型为char,该列的数据必须唯一不可重复 c列数据类型为短整型samllint, 该列必须非空 d列数据类型为可变字符串,无约束条件 ''' create table demo1(a int primary key , b char(3) unique , c smallint not null , d varchar(30) ) ''' 创建一个参照demo1的表demo2 demo2中的y列是参照了被参照表demo1中的主码a ''' create table demo2(x int primary key , y int , foreign key(y) references demo1(b) )
3. 数据库表操作
- 修改基本表
# 修改表名 alter table 表名 rename 新表名 # 新增列 alter table 表名 add [column] 新列名 数据类型 约束 # 示例,为demo1表添加一列e ALTER TABLE demo1 ADD e INT not null # 删除列 alter table 表名 drop [column] 列名 # 示例,删除demo1中的列e alter table demo1 drop [column] e # 修改列 alter table 表名 modify column 列名 数据类型 # 修改数据类型 alter table 表名 change column 原始列名 新列名 数据类型 # 修改列名
- 删除基本表
drop table 表名
4. 数据库表索引
# 建立索引 create index 索引名 on 表名(列名) # 主键不能用create index创建索引 alter table 表名 ADD INDEX 索引名(列名) # 修改表创建索引 # 修改索引 # mysql没有修改索引的操作,可以先删除原始索引再新建一个同名索引 # 删除索引 ALTER TABLE 表名 DROP INDEX 索引名
二、数据查询操作
# 列查询 select 列名1[,列名2…] from 表名 select 列名 新列名 from 表名 # 可以修改查询结果展示时候的列名 # 带条件列查询 select 列名 from 表名 where 查询条件 # 消除取值重复的行 select distinct 列名 from 表名 # order by select 列名 from 表名 where 查询条件 order by 列名 [DESC|ASC] # 对查询结果进行排序,默认为ASC升序 # 聚集函数 ''' count(*) #统计元组个数 count([distinct|all] 列名) # 统计一列中值的个数(去重/全部) sum([distinct|all] 列名) # 计算一列的总和(数值型) avg([distinct|all] 列名) # 计算一列的平均值(数值型) max([distinct|all] 列名) # 求最大值 min([distinct|all] 列名) # 求最小值 ''' select count(*) from 表名 # 查询表中数据个数 select count(列名) from 表名 # 统计某一列的值的个数 select avg(列名) from 表名 # 统计该列的平均值 # group by子句 select 列名 from 表名 group by 列名 # 对查询结果进行分组,该列中值相同的为一组 select 列名 from 表名 group by 列名 having 条件 # 条件查询,再对查询结果分组。where 与group by不能同用。 # 连接查询 select 表1.列名…, 表2.列名… from 表1, 表2 where 表1.某列名=表2.某列名 # 示例:student存放学生信息,course存放选课信息,现在需要查询学生对应的选课信息(哪个学生选了哪门课) select student.name, course.name from student, name where student.studentId=course.studenId # 左外连接 select 表1.列名…, 表2.列名… from 表1 left outer join 表2 where 表1.某列名=表2.某列名
声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/
如出现转载未声明 将追究法律责任~谢谢合作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具