SQL结构化查询语句

SQL结构化查询语句

SQL定义了查询所有关系型数据库的规则。

1、通用语法

  • SQL语句可以单行或者多行书写,以分号结尾
  • 可以使用空格和缩进增强可读性
  • 不区分大小写,但是关键字建议大写
  • 3种注释
    • 注释内容;多行注释/*;-- 注释内容

2、SQL分类

  • DDL(Date Definition Language)数据定义语言

    • 用来定义数据库对象:数据库、表、列等,包括关键字:create,drop、alte
  • DML(Data Manipulation Language)数据操作语言,增删改
    • 用来对数据库的表中的数据进行增删查改。关键字:insert、delete、update
  • DQL(Date Query Language)数据查询语言,查
    • 用来查询数据库表中的记录。关键字:select、where
  • DCL(Data Control Language)数据控制语言
    • 用来定义数据库的访问权限,安全级别,以及创建用户,关键字:GRANT、REVOKE

3、DDL操作数据库、表

  1. 操作数据库:CRUD

    • C(create)创建
    SQL语句 描述
    CREATE database (if not exists) 数据库名 (character set 字符集名称); 创建一个新的数据库,括号是一个判断是否存在、设定该数据库的字符集
    • R(Retrieve)查询:
    SQL语句 描述
    show databases; 查看所有的数据库名称
    show create database 数据库名; 查看某个数据库的创建语句
    • U(Update)修改
    SQL语句 描述
    alter database 数据库名 character set 字符集名称; 修改数据库使用的字符集
    • D(Delete)删除,使用前三思
    SQL语句 描述
    drop database (if exits )数据库名; 判断存在就删除数据库
    • 查询当前在使用的数据库
    SQL语句 描述
    select database(); 查询当前在使用的数据库
    • 使用数据库
    SQL语句 描述
    use 数据库名称 使用某个数据库

    2、操作数据库表

    • C(create)创建

      语法

      create table 表名称(
          列名1 数据类型1,
          列名2 数据类型2,
          列名3 数据类型3,
          ...
          列名n 数据类型n
      ); # 最后一列不要加逗号,分号等,分号是结束标志

      其他创建表语句create table table1_copied like table1,创建一个表,复制table1

      数据类型:

      数据类型 描述
      int 整数
      double(n, m) 浮点数类型,指定一共有n位,小数点后保留m位
      date 日期类型,只包含年月日,yyyy-MM-dd
      datetime 日期时间类型,包含年月日时分秒,yyyy-MM-dd HH:mm:ss
      timestamp 时间戳类型,包含年月日时分秒,yyyy-MM-dd HH:mm:ss,如果将来不给这个字段赋值为null,就自动使用系统时间
      varchar(n) 字符串类型,要指定最大为n个字符
    • R(Retrieve)查询,进到某个数据库后
      SQL语句 描述
      show tables; 查看该数据库所有的表
      desc 表名称; 查询一个表的表结构,有什么字段,字段类型,是否主键等信息
    • U(Update)修改
      • 修改表名:alter table 表名称 rename to 新表名称;
      • 修改表的字符集:alter table 表名称 character set 字符集名称;
      • 修改列名,数据类型:
        • alter table 表名称 change 列名称 新列名称 新数据类型;
        • alter table 表名称 modify 列名称 新数据类型;
      • 删除列:alter table 表名称 drop 列名称;
      • 添加列:alter table 表名称 add 列名称 数据类型;
    • D(Delete)删除表
      SQL语句 描述
      drop table (if exists) 表名称 删除表,如果表存在

4、DML:操作表中的数据

  1. 添加数据

    • 语法:insert into 表名称(列名1, 列名2.....列名n) values(值1, 值2......值n)

      注意

      • 列名和值要一一对应
      • 如果不写列名,就默认要给所有列添加数据
      • 除了数字类型,其他类型都要用引号引起来
  2. 删除数据
    • 语法:delete from 表名 [where 条件]

      注意

      • delete from 表名:不写条件,就删除表中所有的数据
      • TRUNCATE TABLE 表名:先删除表,再创建一张一样的空表,推荐使用这个语句删除所有记录
  3. 修改数据
    • 语法:update 表名 set 列名1 = 值1,列名2 = 值2,...[where 条件]

5、DQL:查询表中的数据

  1. DQL查询语句

    1. select * from 表名称:查询一个表的全部数据
    2. 排序查询,语法:order by 句子
      • order by 排序字段1 排序方式1, 排序字段2 排序方式2,......;这里的意思是,首先按照排序方式一,如果方式一一样,那么使用方式二排序;(也就是只有第一种方式一样时,才会判断第二种方式)

        注意:排序方式:

        升序:ASC;降序:DESC

        select * from student order by age DESC;(按照年龄降序排序)

    3. 聚合函数,将一列数据作为一个整体,进行纵向的计算。
      • count:计算个数select count(列名称) from 表名称
      • 注意:聚合函数排除了空的(NULL)的行,解决方法
        • 替换NULL值的方法:select count(ifNULL(name, " ")) from student;
        • 尽量使用统计的列不要有空值的类,一般是主键
        • 使用count(*)
      • max:计算最大值select max(列名) from 表名
      • min:计算最小值select min(列名) from 表名
      • sum:求和select sum(列名) from 表名
      • avg:计算平均值select avg(列名) from 表名
    4. 分组查询:统计具有相同特征的

      语法:group by 字段 select sex, avg(age), count(id), min(age) from student group by sex;

      ? 注意

      • 分组之后只能查询的字段,只有分组字段和聚合函数
      • where 在分组之前限定,如果不满足条件,就不参与分组;having是在分组之后进行限定,如果不满足条件就不会被查询出来
      • where后不可以跟聚合函数,having后可以进行聚合函数的判断
        • select sex, avg(age), count(id), min(age) from student where age > 20 group by sex having count(id) <= 2;
        • 一般可以在聚合函数后写一个别名,这样就可以在判断的时候使用别名
          • select sex, avg(age), count(id) peopleCount, min(age) from student where age > 20 group by sex having peopleCount <= 2;

      ?

原文地址:https://www.cnblogs.com/zhuobo/p/10686791.html

时间: 2024-12-21 10:16:55

SQL结构化查询语句的相关文章

SQL(结构化查询语句)

SQL概述 SQL会话 用户利用SQL命令与关系型数据库进行交互时发生的事情,当用户与数据库建立会话时,会话就被创建了.用Connect user@database 命令可以申请连接数据库,用Disconnect命令可以断开连接 SQL命令的类型 数据定义语言(DDL) 用于创建和重构数据库对象,比如创建(create table/Index/view).修改(alter table/index/view)和删除(drop table/index/view)表 数据操作语言(DML) 用于操作关

Mysql数据库理论基础之三 --- 数据类型及SQL结构化查询语句使用

一.简介 由MySQL AB公司开发,是最流行的开放源码SQL数据库管理系统,主要特点: 1.是一种数据库管理系统 2.是一种关联数据库管理系统 3.是一种开放源码软件,且有大量可用的共享MySQL软件 4.MySQL数据库服务器具有快速.可靠和易于使用的特点 5.MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中 InnoDB存储引擎将InnoDB表保存在一个表空间内,该表空间可由数个文件创建.这样,表的大小就能超过单独文件的最大容量.表空间可包括原始磁盘分区,从而使得很大的表成为可能

Linux命令:MySQL系列之三--mysql数据类型及SQL结构化查询语句使用

MySQL 存储引擎,也被称为表类型:    MyISAM表:无事务处理功能,支持表锁 .frm:表结构定义文件 .MYD:表数据文件 .MYI:表索引文件 InnoDB表:支持事务处理功能,支持行锁 .frm:表结构定义文件 .ibd:表空间(包含数据和索引文件) MySQL常用的查询命令: SHOW ENGINES;  #查看数据库支持的引擎及状态. SHOW TABLE STATUS LIKE 'user' \G  #查看表user的属性信息,\G竖排显示 mysqld --help --

结构化查询语句格式

数据库(DataBase):存放数据的仓库;存放的是一张一张的表,特别像Excel,都以表格形式存放数据,可以创建多张表 常见的数据库: sqlite ,access, MySQL,SqlServer, Oracle; 为什么要用数据库; 1.文件读写,归档读取数据需要一次把数据全部读出来,占内存 2.数据库查找数据效率很高,体现在查找数据,数据修改(增删改查) SQL(structured Query Language )结构化查询语句,用于对数据库的操作语句(增删改查) SQL语句不区分大小

结构化查询语句

目录 概述 实用的结构化查询语句 概述 实用的结构化查询语句

SQL结构化查询语——之DDL语言

一.SQL结构化查询语言概述SQL是关系型数据库所使用的标准语言,最初是基于IBM的实现在1986年被批准的.1987年,"国际标准化组织(ISO)"把ANSI(美国国家标准化组织) SQL作为国际标准.1. SQL语言规范 在数据库系统中,SQL语句关键词不区分大小写(建议用大写) 数据库的资源对象是区分大小写的,如表.数据库这类资源在操作系统中以独立文件形来存储,如果文件系统对文件命名区分大小写则SQL语言内引用资源对象 资源内的元素不区分大小写,如:表的字段名称不区分大小写,因为

精通SQL结构化查询---学习笔记2

1. SQL中表的规定: * 每张表的表名必须以字母开头,最大长度为30个字符. * 一张表可以由若干列组成.同一张表中,列名惟一,列名也称为属性名或字段. * 同一列的数据必须有相同的数据类型. * 表中的每一列值必须是不可分割的基本数据项. * 表中的一行称为一个元组,相当于一条记录.2. SQL数据类型2.1.字符类型:包括固定长度和可变长字符变量,固定长度字符变量少于定义的长度时,数据库会自动在字符右边以空格填补到20个字符:可变长字符串可以存储任意长度的字符(其最大存储长度取决于采用的

SQL结构化查询语——之DQL语言

记忆思路:SQL的DQL语言select查询命令.from从哪个表中where以什么条件select查询哪些列,order by是否基于某字段排序,limit # 输出多少行.一.单表查询1. 常用查询语法: SELECT 输出显示字段 FROM 表名 无条件查询语法:SELECT 指定输出的列 FROM 表名 ; 限制输出语法:SELECT 指定输出的列 FROM 表名 LIMIT 显示记录数 ; 条件查询语法:SELECT 指定输出的列 FROM 表名 WHRER 查询条件 : 条件查询再排

精通SQL结构化查询---学习笔记1

1.数据库体系结构的三级模式为:外模式.概念模式.内模式. 内模式又称存储模式,是对数据的物理结构和存储方式的描述.内模式是由数据库系统提供的数据定义语言定义的. 概念模式又称数据库模式,是数据库中全部数据的逻辑结构的描述.概念模式以某种数据模型为基础,并用模式定义语言定义这些内容.概念模式可以看作是现实世界中的实体在具体数据库系统中的实现. 外模式又称用户模式或子模式,通常由概念模式导出,是概念模式的子集.其主要功能是定义了允许用户操作的数据.可以将外模式理解为用户看到的数据视图. 2.一个完