返回顶部
首页 > 资讯 > 数据库 >SQL通用语法以及分类图文详解
  • 407
分享到

SQL通用语法以及分类图文详解

sql通用语法Sql语法sqlsql分类汇总语句汇总语句 2022-12-30 13:12:09 407人浏览 泡泡鱼
摘要

目录Mysql的启动和连接&数据模型sql通用语法及分类Data Definition LanguageDDL - 数据库操作DDL - 表操作表操作 - 数据类型表操作-修改&&删除DDL总结D

mysql的启动和连接&数据模型

MySQL的启动和停止

1.services.msc

SQL通用语法以及分类图文详解

2.命令行启停

启动:net start mysql80

停止:net stop mysql80

(命令行窗口以管理员权限打开,否则无访问系统服务权限)

SQL通用语法以及分类图文详解

SQL通用语法以及分类图文详解

SQL通用语法以及分类图文详解

MySQL数据库客户端连接

1.MySQL提供的客户端命令行工具

(先确保mysql正在运行中),否则会出现输入密码命令行窗口闪退的情况

mysql正常运行中,在windows开始菜单下找到:

SQL通用语法以及分类图文详解

单击打开命令行窗口后输入MySQL密码,即可进入访问(密码输入错误会闪退命令行窗口):

SQL通用语法以及分类图文详解

 2.系统自带的命令行执行指令

(使用此方法必须提前配置系统的path环境变量)

mysql -u root -p[回车] -passWord

SQL通用语法以及分类图文详解

SQL通用语法以及分类图文详解

MySQL数据模型

1.在清楚MySQL数据模型前,需要先了解一个概念:关系型数据库(RDBMS).

概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库

特点

  • 使用表存储结构,格式统一,便于维护
  • 使用SQL语言操作,标准统一,便于操作

SQL通用语法以及分类图文详解

 2.数据模型

SQL通用语法以及分类图文详解

SQL通用语法及分类

1.SQL通用语法

  • SOL语句可以单行或多行书写书写,以分号结尾
  • SQL语句可以使用空格和缩进来增强程序的可读性
  • MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
  • 注释:
    单行注释:--注释内容  或者   #注释内容(MySQL特有)
    多行注释:

2.SQL分类

分类全称说明
DDLDate Definition Language数据定义语言,用来定义数据库对象(数据库,表,字段,索引)
DMLDate Manipulation Language数据库操作语言,用来对数据库表中的数据进行增删改
DQLDate Query Language数据库查询语言,用来查询数据库中表的记录
DCLDate Control Language数据库控制语言,用来创建数据库用户,控制数据库访问权限

Data Definition Language

DDL - 数据库操作

SQL通用语法以及分类图文详解

查询数据库

SQL通用语法以及分类图文详解

SQL通用语法以及分类图文详解

创建数据库

SQL通用语法以及分类图文详解

SQL通用语法以及分类图文详解

删除数据库

SQL通用语法以及分类图文详解

使用数据库

SQL通用语法以及分类图文详解

使用上述指令进行整体操作

SQL通用语法以及分类图文详解

DDL - 表操作

表操作 - 创建&&查询 创建表

SQL通用语法以及分类图文详解

(创建表的最后一条语句不加逗号,整条语句以分号结束)查询当前数据库的所有表

SQL通用语法以及分类图文详解

查询表结构

SQL通用语法以及分类图文详解

查询特定表的建表语句

SQL通用语法以及分类图文详解

使用上述指令进行整体操作

SQL通用语法以及分类图文详解

表操作 - 数据类型

MySQL中主要有数值类型、日期类型和字符串类型。

数值-整数类型

类型名称说明存储需求有符号(SIGNED)无符号(UNSIGNED)
TINYINT很小的整数1byte-128 - 1270 - 255
SMALLINT小的整数2byte-32768 - 327670 - 65535
MEDIUMINT中等大小的整数3byte-8388608 - 83886070 - 16777215
INT(INTEGER)普通大小整数4byte-2147483648 - 21474836470 - 4294967295
BIGINT大整数8byte-9223372036854775808 - 92233720368547758070 - 18446744073709551615

dd

类型名称说明存储需求有符号(SIGNED)无符号(UNSIGNED)
TINYINT很小的整数1byte-128 - 1270 - 255
SMALLINT小的整数2byte-32768 - 327670 - 65535
MEDIUMINT中等大小的整数3byte-8388608 - 83886070 - 16777215
INT(INTEGER)普通大小整数4byte-2147483648 - 21474836470 - 4294967295
BIGINT大整数8byte-9223372036854775808 - 92233720368547758070 - 18446744073709551615

数值-小数类型

 DECIMAL中的M:精度、D:标度

 精度M:整个数的长度

 标度D:小数的位数

日期与时间类型

类型名称日期格式日期范围存储需求
YEARYYYY1901-21551byte
TIMEHH:MM:SS-838:59:59-835:59:593byte
DATEYYYY-MM-DD1000-01-01~9999-12-313byte
DATETIMEYYYY-MM-DD HH:MM:SS1000-01-01 00:00:00~9999-12-31 23:59:598byte
TIMESTAMPYYYY-MM-DD HH:MM:SS1970-01-01 00:00:01 UTC~2038-01-19 03:14:07 UTC4byte

字符串类型

文本字符串数据类型
类型名称说明存储需求
CHAR(M)定长文本字符串M字节,1 - 255
VARCHAR(M)变长文本字符串length +1字节
TINYTEXT非常小的文本字符串length +1字节
TEXT小的文本字符串length +2字节
MEDIUMTEXT中等大小的文本字符串length +3字节
LONGTEXT大的文本字符串length +4个字节
EUNM枚举类型,只能有一个枚举字符串值1或2byte,取决于枚举字符串的树木
SET

一个设置,字符串对象可以有一个或多个set成员

1,2,3,4或8,取决于集合成员的数量
二进制字符串类型
类型名称说明存储需求
BIT(M)位字段类型(M+7)/8 byte
BINARY(m)定长二进制字符串Mbyte
VARBINARY(M)变长二进制字符串M+1byte
TINYBLOB(M)非常小的BLOB

L+1 byte

BOLB(M)小的BLOBL+2byte
MEDIUMBLOB(M)中等大小的BLOBL+3byte
LONGBLOB(M)非常大的BLOBL+4byte

表操作-修改&&删除

添加字段

SQL通用语法以及分类图文详解

修改字段数据类型

SQL通用语法以及分类图文详解

修改字段名和字段类型

SQL通用语法以及分类图文详解

删除表中的字段

SQL通用语法以及分类图文详解

修改表名

SQL通用语法以及分类图文详解

删除表

SQL通用语法以及分类图文详解

格式化表(删除表中的数据并重新创建)

SQL通用语法以及分类图文详解

 使用上述指令进行整体操作

SQL通用语法以及分类图文详解

DDL总结

DDL数据库操作

  • show databases;
    显示当前的所有数据库
  • create database [if not exists] 数据库名;
    创建数据库
  • use 数据库名;
    使用/进入当前数据库
  • select database();
    查询当前所在数据库
  • drop database [if exists] 数据库名;
    删除当前数据库

DDL表操作

  • show tables;
    显示当前数据库中的所有表
  • create table 表名(字段 字段类型 [comment '注释'], 字段 字段类型 [comment '注释'] ...) [coomment '注释'] ;
    在当前数据库中新建一张表
  • desc 表名;
    查询当前表的结构
  • show create table 表名;
    显示创建该表时的语句
  • alter table add/modify/change/drop/rename to
    添加字段,修改字段类型,修改字段,删除字段,重命名表
  • drop table 表名;
    删除当前表

(可视化工具 - dataTrip)

Data Manipulation Language

DML - 插入数据insert

insert into 表名(字段,字段...) values(值1,值2...);
-- 表中的字段和值一一对应
insert into 表名(字段1,字段2...) values(值1,值2...),(值1,值2...);
-- 一次添加多组数据,字段值和值要一一对应
insert into 表名 values(值1,值2...);
-- 值要和表中的字段一一对应
 
insert into 表名 values(值1,值2...),(值1,值2...);
-- 一次添加多组数据,数据要和表中的字段一一对应

插入数据的注意事项

  • 插入的数据应当与表中的字段一一对应
  • 插入数据如果类型是字符串或者日期,应当用引号修饰
  • 添加的数据应当在定义的数据类型的范围内

DML - 更新数据update

update 表名 set 字段1=值1,字段2=值2...[where 条件];
-- update是针对字段来进行操作的

DML - 删除数据delete

delete from 表名 [where 条件];
-- delete针对的操作对象是表中的一整条数据 

 使用上述SQL命令整体进行表的数据操作:

使用insert向表中添加数据:

SQL通用语法以及分类图文详解

使用update更新表中的数据:

SQL通用语法以及分类图文详解

使用delete删除表中的数据:

SQL通用语法以及分类图文详解

Data Query Language

DQL --- 基础查询

查询多个字段

select 字段1[as 别名],字段2[as 别名],字段3[as 别名]...from 表名;
//as可以省略
 
select * from 表名;
//返回表中的所有字段中的信息

查询多个字段去重

select distinct 字段列表 from 表名; -- 去重查询

DQL --- 条件查询

select 字段列表 from 表明 where [条件列表];

SQL通用语法以及分类图文详解

使用上述查询进行整体操作:

SQL通用语法以及分类图文详解

 DQL - 聚合函数

函数作用
avg()返回某列的平均值
sum()返回某列值的和
count()返回某列的行数
max()返回某列的最大值
min()返回某列的最小值

select 聚合函数(字段列表) from 表名;

使用聚合函数进行查询时,null不参与聚合函数的运算,如果统计表的行数,使用count(*)即可。

使用上述查询进行整体操作:

SQL通用语法以及分类图文详解

DQL - 分组查询

select 字段列表 from 表名 [where条件] group by 分组字段名 [having分组后的过滤条件];

where和having的区别:

  • where是对分组前的数据进行过滤,不满足分组条件的数据不参与分组,而having是对分组之后的数据进行过滤
  • where不能对聚合函数进行判断,having可以

使用上述查询:

SQL通用语法以及分类图文详解

DQL - 排序查询

select 字段列表 from 表名 order by 字段名 排序方式,字段名,排序方式;
//当按照第一个字段排序时顺序相同时,就按照第二个字段及其规则进行排序返回
//asc    升序排列(默认值,可以省略)
//desc   降序排列

SQL通用语法以及分类图文详解

DQL - 分页查询

select 字段列表 from 表名 limit 起始索引,每页查询的数据条数;
-- 起始索引为: (页数 - 1) * 每页数据的条数
-- 第一页的起始索引可以省略

SQL通用语法以及分类图文详解

DDL - 语句执行顺序

  • from -- 找到对应的表
  • where -- 根据条件进行筛选
  • group -- 筛选后分组
  • select -- 选出处理后的数据
  • order by -- 进行数据的排序
  • limit -- 数据分页

DQL总结

-- 基础查询
select 字段列表 from 表名;
 
-- 条件查询
select 字段列表 fORM 表名 where 条件;
 
-- 分组查询
select 字段列表 from 表名 [where条件] group by 分组字段名 [having过滤条件];
 
-- 排序查询
select 字段列表 from 表名 [where条件] order by 字段名 排序方式,字段名 排序方式;
 
--分页查询
select 字段列表 from 表名 [where条件] limit 起始索引,每页查询的信息条数;

Data Control Language

DCL - 用户管理

-- 使用管理员账号进入mysql数据库下
 
-- 查询用户
use mysql;
select * from user;
 
-- 创建用户
create user '用户名'@'主机名' identified by '密码';
 
-- 修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '密码';
 
-- 删除用户
drop user '用户名'@'主机名';

SQL通用语法以及分类图文详解

DCL - 权限控制

-- 查询权限
show grants for '用户名'@'主机名';
 
-- 授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
 
-- 撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

SQL通用语法以及分类图文详解

总结

到此这篇关于SQL通用语法以及分类的文章就介绍到这了,更多相关SQL通用语法及分类内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: SQL通用语法以及分类图文详解

本文链接: https://lsjlt.com/news/176332.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SQL通用语法以及分类图文详解
    目录mysql的启动和连接&数据模型SQL通用语法及分类Data Definition LanguageDDL - 数据库操作DDL - 表操作表操作 - 数据类型表操作-修改&&删除DDL总结D...
    99+
    2022-12-30
    sql通用语法 Sql语法 sqlsql分类汇总语句汇总语句
  • java接口语法以及与类的关系详解
    1.语法: public interface 接口名{} public class 类名 implements 接口名{} interface +接口名 implements: 实...
    99+
    2024-04-02
  • Jackson常用方法以及jacksonUtil工具类详解
    前言: 项目中我们通常使用ajax返回json数据格式的形式进行前后端数据交互,所以会用到java数据json数据互相转化,通常我们的做法是在项目中创建一个工具类进行转化处理。 如下...
    99+
    2024-04-02
  • Java中File类方法详解以及实践
    目录File类概述File类常用构造器File类常用方法常用方法示例createTempFile临时文件创建示例FilenameFilter文件过滤器示例总结File类概述 File...
    99+
    2024-04-02
  • Python实现GIF动图以及视频卡通化详解
    目录前言环境依赖核心代码gif动图卡通化视频卡通化总结前言 参考文章:Python实现照片卡通化 我继续魔改一下,让该模型可以支持将gif动图或者视频,也做成卡通化效果。毕竟一张图可...
    99+
    2024-04-02
  • C语言文件操作详解以及详细步骤
    目录一、为什么使用文件?二、什么是文件?1.程序文件2.数据文件3.文件名三、文件的打开和关闭1.文件指针2.文件的打开和关闭3.文件的顺序读写四、fseek函数五、ftell函数六...
    99+
    2024-04-02
  • CountDownLatch详解以及用法示例
    一、什么是countDownlatch CountDownLatch是一个同步工具类,它通过一个计数器来实现的,初始值为线程的数量。每当一个线程完成了自己的任务,计数器的值就相应得减1。当计数器到达0...
    99+
    2023-09-11
    java
  • C语言二分查找图文详解
    目录一、二分查找算法1.假定给定的数组中元素个数为奇数个2.假定给定的数组为偶数个3.假定给定的数不在此数列中二、分支语句中应注意的小点1.悬空else语句2.switch语句中的b...
    99+
    2023-05-18
    c语言二分查找 c语言二分查找代码 c语言二分查找法
  • MySQL之SQL语法及SQL解析顺序源码分析
    这篇“MySQL之SQL语法及SQL解析顺序源码分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看...
    99+
    2023-04-06
    mysql sql
  • C语言中typedef的用法以及#define区别详解
    目录1、简洁定义 2、为已有类型起别名 为字符数组起别名为指针起别名3、typedef 和 #define 的区别总结1、简洁定义 C语言允许为一个数据类型起一个新的别名,就像给人...
    99+
    2024-04-02
  • C语言图文并茂讲解分支语句用法
    目录一、if 语句分析二、switch 语句分析三、小结一、if 语句分析 if 语句用于根据条件选择执行语句else 不能独立存在且总是与它最近的 if 相匹配else 语句后可以...
    99+
    2024-04-02
  • 一文详解CNN解决Flowers图像分类任务
    目录前言加载并展示数据构件处理图像的 pipeline搭建深度学习分类模型训练模型并观察结果加入了抑制过拟合措施并重新进行模型的训练和测试前言 本文主要任务是使用通过 tf.ker...
    99+
    2023-03-10
    CNN Flowers图像分类 CNN Flowers
  • Go语言中的复数类型及其用法详解
    go语言中的复数类型为complex128,可表示具有实部和虚部的数字,通过complex(实部,虚部)声明;复数支持加减乘除运算、通过重载运算符实现;complex包提供real、im...
    99+
    2024-04-03
    go语言 复数类型
  • SQL update select结合语句详解及应用
    QL update select语句 最常用的update语法是: UPDATE TABLE_NAME SET column_name1 = VALUE WHRER c...
    99+
    2024-04-02
  • C#中的引用类型以及特殊引用类型详解
    基本 哪些属于引用类型 类(object,string),接口、数组、委托 引用类型分配在哪里 引用类型变量位于线程栈。引用类型实例分配在托管堆上。当引用类型实例的大小小于85000...
    99+
    2022-11-13
    C# 引用类型 特殊引用类型
  • 详解Android框架MVVM分析以及使用
    Android MVVM 分析以及使用 首先我们需要知道什么是MVVM,他的功能和优点,以及他的缺点。 MVVM是Model-View-ViewModel的简写。它本质上就是MVC ...
    99+
    2024-04-02
  • sql语句with as的用法详解
    这篇文章主要介绍“sql语句with as的用法详解”,在日常操作中,相信很多人在sql语句with as的用法详解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”sql语句w...
    99+
    2024-04-02
  • 掌握Go语言文件的分类及用途
    go语言文件分为源文件和包文件。源文件(.go后缀)包含源代码,而包文件(.a或.so后缀)包含编译后的二进制代码。 Go语言文件的分类及用途 介绍 在Go语言中,文件分为两种主要类型...
    99+
    2024-04-08
    go语言 文件分类
  • Python字典简介以及用法详解
    #!/usr/bin/env python # -*- coding:utf-8 -*- """ 老规矩以下方法环境2.7.x,请3.x以上版本的朋友记得格式print(输出内容放入括号内) 字典的...
    99+
    2022-06-04
    字典 详解 简介
  • Go语言基础类型及常量用法示例详解
    目录基础类型概述按类别有以下几种数据类型数值类型派生类型变量概述单个变量声明多个变量声明基础类型 概述 在 Go 编程语言中,数据类型用于声明函数和变量。数据类型的出现时为了把数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作