百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

SQL 是用于访问和处理数据库的标准的计算机语言,你知多少?

sinye56 2024-10-07 14:23 4 浏览 0 评论

虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。

然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。

一个数据库通常包含一个或多个表。每个表由一个名字标识(例如:"Websites"),表包含带有数据的记录(行)。

在本教程中,我们在 MySQL 的 RUNOOB 数据库中创建了 Websites 表,用于存储网站记录。

  1. 什么是SQL?

SQL 指结构化查询语言,使我们有能力访问数据库,是一种 ANSI 的标准计算机语言。可分为数据操作语言 (DML) 和 数据定义语言 (DDL)。

DML部分:

SELECT - 从数据库表中获取数据

UPDATE - 更新数据库表中的数据

DELETE - 从数据库表中删除数据

INSERT INTO - 向数据库表中插入数据

DDL部分:

CREATE DATABASE - 创建新数据库

ALTER DATABASE - 修改数据库

CREATE TABLE - 创建新表

ALTER TABLE - 变更(改变)数据库表

DROP TABLE - 删除表

CREATE INDEX - 创建索引(搜索键)

DROP INDEX - 删除索引

注意事项 SQL 对大小写不敏感

  1. SQL的几个关键词和他们的用法(举例)
  1. DISTINCT:查询时去掉重复的数据。

例如:“SELECT DISTINCT Company FROM表名”结果为:

其中W3School仅出现一次

  1. WHERE:如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。

例如:“SELECT Company FROM 表名 where Company=’IBM’”结果为:IBM

  1. AND和OR:AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来
  2. ORDER BY:ORDER BY 语句用于根据指定的列对结果集进行排序。(默认为升序,可以通过“DESC”改为降序)

例如:“SELECT Company, OrderNumber FROM 表名 ORDER BY Company DESC”结果为:

  1. SELECT 、INSERT INTO、Update、DELETE这些是属于数据库的基本增删查改,不作详细介绍。
  2. TOP:TOP 子句用于规定要返回的记录的数目。

例如:“SELECT TOP 2 * FROM 表名”结果为:

  1. LIKE:也就是模糊查询时用到的了

例如:“SELECT * FROM 表名 where '%Sch%'”结果为:

  1. IN:IN 操作符允许我们在 WHERE 子句中规定多个值。

例如:“SELECT * FROM 表名 where Company IN(‘IBM’,’W3School’)”结果为:

  1. BETWEEN:BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

例如:“SELECT * FROM 表名 where Company BETWEEN ‘W3School’ and ‘Apple’结果为:

  1. JOIN:用于根据两个或多个表中的列之间的关系,从这些表中查询数据。

这是关于两张表和多个表间的查询;

JOINde 类型有:

  1. JOIN: 如果表中有至少一个匹配,则返回行
  2. LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  3. RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  4. FULL JOIN: 只要其中一个表中存在匹配,就返回行
  5. INNER JOIN:表中存在至少一个匹配时返回

K、UNION:用于合并两个或多个 SELECT 语句的结果集。

例如:SELECT column_name(s) FROM 表名一

UNION

SELECT column_name(s) FROM 表名二

  1. DROP INDEX:删除表格中的索引。

例如:“DROP INDEX 索引 ON 表名”

  1. SQL的几种约束?
  2. 非空约束:强制列不接受 NULL 值。
  3. 唯一约束:强制列里的值是唯一的。
  4. 主键约束:标识该列为主键,主键列值是唯一的,非空的,每张表中应该有一个主键约束,而且只能有一个主键约束。
  5. 外键约束:指向另一个表中的约束,该约束用于防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
  6. CHECK 约束:用于限制列中的值的范围。
  7. 默认约束:用于向列中插入默认值,如果没有规定其他的值,那么会将默认值添加到所有的新纪录。
  1. 什么是视图?

在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。

视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

注释:数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。

  1. SQL的日期。
  1. SQL Server 使用下列数据类型在数据库中存储日期或日期/时间值:

DATE - 格式 YYYY-MM-DD

DATETIME - 格式: YYYY-MM-DD HH:MM:SS

SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS

TIMESTAMP - 格式: 唯一的数字

  1. SQL的数据类型。
  2. Character 字符串:

Unicode 字符串:

  1. Binary 类型:
  1. Number 类型:
  1. Date 类型:
  1. 其他类型:

相关推荐

Linux基础知识之修改root用户密码

现象:Linux修改密码出现:Authenticationtokenmanipulationerror。故障解决办法:进入单用户,执行pwconv,再执行passwdroot。...

Linux如何修改远程访问端口

对于Linux服务器而言,其默认的远程访问端口为22。但是,出于安全方面的考虑,一般都会修改该端口。下面我来简答介绍一下如何修改Linux服务器默认的远程访问端口。对于默认端口而言,其相关的配置位于/...

如何批量更改文件的权限

如果你发觉一个目录结构下的大量文件权限(读、写、可执行)很乱时,可以执行以下两个命令批量修正:批量修改文件夹的权限chmod755-Rdir_name批量修改文件的权限finddir_nam...

CentOS「linux」学习笔记10:修改文件和目录权限

?linux基础操作:主要介绍了修改文件和目录的权限及chown和chgrp高级用法6.chmod修改权限1:字母方式[修改文件或目录的权限]u代表所属者,g代表所属组,o代表其他组的用户,a代表所有...

Linux下更改串口的权限

问题描述我在Ubuntu中使用ArduinoIDE,并且遇到串口问题。它过去一直有效,但由于可能不必要的原因,我觉得有必要将一些文件的所有权从root所有权更改为我的用户所有权。...

Linux chown命令:修改文件和目录的所有者和所属组

chown命令,可以认为是"changeowner"的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。当只需要修改所有者时,可使用...

chmod修改文件夹及子目录权限的方法

chmod修改文件夹及子目录权限的方法打开终端进入你需要修改的目录然后执行下面这条命令chmod777*-R全部子目录及文件权限改为777查看linux文件的权限:ls-l文件名称查看li...

Android 修改隐藏设置项权限

在Android系统中,修改某些隐藏设置项或权限通常涉及到系统级别的操作,尤其是针对非标准的、未在常规用户界面显示的高级选项。这些隐藏设置往往与隐私保护、安全相关的特殊功能有关,或者涉及开发者选项、权...

完蛋了!我不小心把Linux所有的文件权限修改了!在线等修复!

最近一个客户在群里说他一不小心把某台业务服务器的根目录权限给改了,本来想修改当前目录,结果执行成了根目录。...

linux改变安全性设置-改变所属关系

CentOS7.3学习笔记总结(五十八)-改变安全性设置-改变所属关系在以前的文章里,我介绍过linux文件权限,感兴趣的朋友可以关注我,阅读一下这篇文章。这里我们不在做过的介绍,注重介绍改变文件或者...

Python基础到实战一飞冲天(一)--linux基础(七)修改权限chmod

#07_Python基础到实战一飞冲天(一)--linux基础(七)--修改权限chmod-root-groupadd-groupdel-chgrp-username-passwd...

linux更改用户权限为root权限方法大全

背景在使用linux系统时,经常会遇到需要修改用户权限为root权限。通过修改用户所属群组groupid为root,此操作只能使普通用户实现享有部分root权限,普通用户仍不能像root用户一样享有超...

怎么用ip命令在linux中添加路由表项?

在Linux中添加路由表项,可以使用ip命令的route子命令。添加路由表项的基本语法如下:sudoiprouteadd<network>via<gateway>这...

Linux配置网络

1、网卡名配置相关文件回到顶部网卡名命名规则文件:/etc/udev/rules.d/70-persistent-net.rules#PCIdevice0x8086:0x100f(e1000)...

Linux系列---网络配置文件

1.网卡配置文件在/etc/sysconfig/network-scripts/下:[root@oldboynetwork-scripts]#ls/etc/sysconfig/network-s...

取消回复欢迎 发表评论: