首页 > 数据库 >必知必会——SQL语句基本语法整理

必知必会——SQL语句基本语法整理

时间:2024-03-14 10:24:33浏览次数:16  
标签:语句 必知 列名 SQL 数据类型 索引 表名 table select

 

一、数据库表

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.某列名

 

标签:语句,必知,列名,SQL,数据类型,索引,表名,table,select
From: https://www.cnblogs.com/chenxiaomeng/p/18072230

相关文章

  • mysql-约束
    1.总结 createtableuser( idintprimarykeyauto_incrementcomment'主键',namevarchar(10)notnulluniquecomment'姓名', ageintcheck(age>0&&age<=120)comment'年龄', statuschar(1)default'......
  • 安装配置MySQL
    安装配置MySQL主要包括以下步骤:1、检查并卸载旧版本的MySQL2、如果不使用Mariadb,则也需要卸载3、离线安装MySQLMySQL数据库安装在node3节点上,其他节点通过远程访问的方式使用MySQL数据库。在node3检查并卸载老版本的MySQL使用【rpm-qa】命令,查找以前是否装有mysql:[root......
  • Linux安装MySQL
    安装对于MySQL数据库的安装,我们将要使用rpm进行安装。那么首先我们先了解一下什么rpm?**RPM:**全称为Red-HatPackageManager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。我们要通过rpm,进行MySQL数据库的安装,主要的步骤如下:1).检测当前系统是否安装过MySQL相......
  • 详细分析Mysql中的LOCATE函数(附Demo)
    目录1.基本概念2.Demo3.实战1.基本概念LOCATE()函数在SQL中用于在字符串中查找子字符串的位置它的一般语法如下:LOCATE(substring,string,start)LOCATE()函数返回子字符串在主字符串中第一次出现的位置如果未找到子字符串,则返回0具体的参数如下:substring......
  • zabbix-server-pgsql docker镜像说明
    0说明zabbix-server-pgsql在dockerhub的官方说明,供查阅1EnvironmentVariables1.1基本变量Whenyoustartthezabbix-server-pgsqlimage,youcanadjusttheconfigurationoftheZabbixserverbypassingoneormoreenvironmentvariablesonthedockerruncomm......
  • java毕业设计小众咖啡店推荐平台的设计与实现(springboot+mysql+jdk1.8+meven)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景在当今社会,咖啡已经成为许多人日常生活中不可或缺的一部分。随着人们生活水平的提高和消费观念的转变,越来越多的人开始追求个性化和高品质的咖啡体验。小......
  • java毕业设计线上教学平台(springboot+mysql+jdk1.8+meven)
    本系统(程序+源码)带文档lw万字以上 文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景随着互联网技术的迅猛发展,线上教育已经成为了现代教学体系中不可或缺的一部分。尤其是在全球性的公共卫生事件影响下,线上教学平台显示出了其独特的优势和......
  • mysql修改wait_timeout无效
    今晚本来要搭建一个mysql服务测试那个mysqlhasgoneaway问题的,结果设置wait_timeout死活不生效,找来找去,结果发现最大的问题在于globalvariables的问题。先说最重要的,查看这个变量的方法:showglobalvariableslike'%timeout';或者showglobalvariableslike'wait_......
  • 大华智慧园区综合管理平台 getNewStaypointDetailQuery SQL注入
    简介大华智慧园区解决方案通过AI技术的加载实现园区安防与园区办公应用的智慧化升级,提升企业安全等级和办公效率;将物联网应用神经延伸至企业各种业务场景,实现人、车、物数据信息线上融合与计算,为园区智慧化管理提供数据源;构建园区大数据平台,向下汇聚各类业务子系统数据,向上为......
  • [20240312]sqlplus define数据类型问题.txt
    [20240312]sqlplusdefine数据类型问题.txt--//编写sql脚本遇到的问题,通过例子说明。1.环境:SCOTT@book>@ver1111PORT_STRING                   VERSION       BANNER------------------------------------------------------------------------......