首页 > 数据库 >SQL基础

SQL基础

时间:2023-03-03 16:11:50浏览次数:26  
标签:... 数据 数据库 基础 名称 SQL WHERE SELECT

SQL基础

  • 操作数据库的SQL语言基于功能,可以划分为4类:
    • 数据定义:DDL(Data Definition Language)
      • 库的创建删除、表的创建删除等
    • 数据操纵:DML(Data Manipulation Language)
      • 新增数据、删除数据、修改数据等
    • 数据控制:DCL(Data Control Language)
      • 新增用户、删除用户、密码修改、权限管理等
    • 数据查询:DQL(Data Query Language)
      • 基于需求查询和计算数据

语法特征

  • 大小写不敏感

  • 可以单行或多行书写,分号(;)结尾

  • 支持注释

    • 单行注释
      • --(空格)
    • 多行注释
      • /* */

* 字符串的值出现在SQL语句中,必须要用单引号('')包围起来

DDL

# 查看数据库
SHOW DATABASES;

#使用数据库
USE 数据库名称;

# 创建数据库
CREATE DATABASE 数据库名称 (CHARSET 编码格式);

# 删除数据库
DROP DATABASE 数据库名称;

# 查看当前使用的数据库
SELECT DATABASE();

# 查看有哪些表
SHOW TABLES;

# 删除表
DROP TABLE 表名称;
DROP TABLE IF EXISTS 表名称;

# 创建表
CREATE TABLE 表名称(
	列名称 表类型,
    列名称 表类型,
    ......
);

DML

# 数据插入
INSERT INTO 表名称(列1,列2,...列N) VALUES (值1,值2...值N),(值1,值2...值N),...(值1,值2...值N);

# 数据删除
DELETE FROM 表名称 (WHERE 条件判断);

# 数据更新
UPDATE 表名称 SET 列=值 (WHERE 条件判断);

DQL

# 基础语法
SELECT 字段列表|* FROM 表名称 (WHERE 条件判断)
  • 分组聚合
    • GROUP BY关键字
SELECT 字段|聚合函数 FROM 表 (WHERE 条件判断) GROUP BY 列
/*
聚合函数有:
	SUM(列) 求和
	AVG(列) 求平均值
	MIN(列) 求最小值
	MAX(列) 求最大值
	COUNT(列|*) 求数量
*/
  • 结果排序
    • ORDER BY关键字
SELECT 列|聚合函数|* FROM 表
WHERE 条件
GROUP BY 列
ORDER BY 列 (ASC|DESC)
# ASC从小到大,DESC从大到小
  • 结果分页限制
    • LIMIT关键字
SELECT 列|聚合函数|* FROM 表
WHERE 条件
GROUP BY 列
ORDER BY 列 (ASC|DESC)
LIMIT N(,M)
# N表示展示N条数据;N,M表示从N+1条开始展示M条数据

执行顺序

FROM->WHERE->GROUP BY和聚合函数->SELECT->ORDER BY->LIMIT

标签:...,数据,数据库,基础,名称,SQL,WHERE,SELECT
From: https://www.cnblogs.com/Learn1ng/p/17176036.html

相关文章

  • Winform中操作Sqlite数据增删改查、程序启动时执行创建表初始化操作
    场景Sqlite数据库SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的SQL数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不......
  • shell相关基础面试题
    用sed修改test.txt的23行test为tset;sed–i'23s/test/tset/g'test.txt查看/web.log第25行第三列的内容。sed–n‘25p’/web.log|cut–d“”–f3head–......
  • SQL SERVER 统计24小时内每小时添加的数据
    WITHtests([time],title)AS(SELECT'2016-03-221:12:00','a'UNIONALLSELECT'2016-03-222:12:00','b'UNIONALLSELECT'2016-03-229:12:00','c'......
  • linux ubuntu 连接mysql
    linux ubuntu server sudo apt update -ysudo apt list --upgradable sudo apt upgrade -ysudo apt install vim -y# 安装mysql 8.0.31最新版 和  v......
  • DB-SQL
         ......
  • 【SQLServer】列出所有login账号
    GetthelistofallLoginAccountsinaSQLServerSELECTnameASLogin_Name,type_descASAccount_TypeFROMsys.server_principalsWHERETYPEIN('U','S','G......
  • 软件工程日报九——SQLite的安装与配置
    安卓stuio的数据库连接需要SQLite,现在进行安装与配置一进官网下载sqlite—dll—win32—x86.zip和sqlite—tools—win32—x86.zip  二、在下载目录进行解压,出现以下......
  • SQLite的ROUND函数的坑和解决方案
    今天使用sqlite的round函数对数据进行四舍五入处理,但遇到了以下问题,如图所示: 为什么结果不一样,不得而知,但我找到了解决方案,同大家分享一下。首先在c#中创建自定义函数[......
  • SQL Server注释SQL语句格式
    EXECUTEsp_addextendedproperty N'MS_Description','字段1',N'user',N'dbo',N'table',N'test_table',N'column',N'column_1'EXECUTEsp_addextendedproperty......
  • MySQL是如何解决幻读的
    前言SQL标准中定义了4种隔离级别,分别是读未提交、读已提交、可重复读以及序列化。不同的隔离级别下,可以解决不同的并发问题,如下图所示。当然MySQL也基本遵循了这个标准,但......