sql是什么?以及sql基础语句(一)

简介: sql是什么?以及sql基础语句

目录


SQL 是什么?

SQL 能做什么?

SQL 语法

数据库表

解析

一些最重要的 SQL 命令

SELECT - 从数据库中提取数据

SQL SELECT 语句

SQL SELECT 语法

演示数据库

SELECT Column 实例

实例

UPDATE - 更新数据库中的数据

SQL UPDATE 语句

SQL UPDATE 语句

SQL UPDATE 语法

演示数据库

SQL UPDATE 实例

实例

Update 警告!

DELETE - 从数据库中删除数据

SQL DELETE 语句

SQL DELETE 语句

SQL DELETE 语法

演示数据库

SQL DELETE 实例

实例

删除所有数据

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

SQL INSERT INTO 语句

SQL INSERT INTO 语句

SQL INSERT INTO 语法

演示数据库

INSERT INTO 实例

实例

在指定的列插入数据

实例

CREATE DATABASE - 创建新数据库

SQL CREATE DATABASE 语句

SQL CREATE DATABASE 语句

SQL CREATE DATABASE 语法

SQL CREATE DATABASE 实例

ALTER DATABASE - 修改数据库

CREATE TABLE - 创建新表

SQL CREATE TABLE 语句

SQL CREATE TABLE 语法

SQL CREATE TABLE 实例

实例

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

SQL ALTER TABLE 语句

ALTER TABLE 语句

SQL ALTER TABLE 语法

SQL ALTER TABLE 实例

改变数据类型实例

DROP COLUMN 实例

DROP  

SQL 撤销索引、撤销表以及撤销数据库

DROP INDEX 语句

用于 MS Access 的 DROP INDEX 语法:

用于 MS SQL Server 的 DROP INDEX 语法:

用于 DB2/Oracle 的 DROP INDEX 语法:

用于 MySQL 的 DROP INDEX 语法:

DROP TABLE 语句

DROP DATABASE 语句

TRUNCATE TABLE 语句

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

SQL CREATE INDEX 语句

索引

SQL CREATE INDEX 语法

SQL CREATE UNIQUE INDEX 语法

CREATE INDEX 实例


前言


SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。


正文


SQL 是什么?


  • SQL 指结构化查询语言,全称是 Structured Query Language。
  • SQL 让您可以访问和处理数据库,包括数据插入、查询、更新和删除。
  • SQL 在1986年成为 ANSI(American National Standards Institute 美国国家标准化组织)的一项标准,在 1987 年成为国际标准化组织(ISO)标准。


SQL 能做什么?


  • SQL 面向数据库执行查询
  • SQL 可从数据库取回数据
  • SQL 可在数据库中插入新的记录
  • SQL 可更新数据库中的数据
  • SQL 可从数据库删除记录
  • SQL 可创建新数据库
  • SQL 可在数据库中创建新表
  • SQL 可在数据库中创建存储过程
  • SQL 可在数据库中创建视图
  • SQL 可以设置表、存储过程和视图的权限


SQL 语法


数据库表


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


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


我们可以通过以下命令查看 "Websites" 表的数据:

93e616751eb62e6c4a3fc4bb439bee2a_e64e81e5ce994636a7cdb1d946d9ec6c.png


解析


  • use RUNOOB; 命令用于选择数据库。
  • set names utf8; 命令用于设置使用的字符集。
  • SELECT * FROM Websites; 读取数据表的信息。
  • 上面的表包含五条记录(每一条对应一个网站信息)和5个列(id、name、url、alexa 和country)。


SQL 对大小写不敏感:SELECT 与 select 是相同的。

某些数据库系统要求在每条 SQL 语句的末端使用分号。

分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的 SQL 语句。


一些最重要的 SQL 命令


SELECT - 从数据库中提取数据


SQL SELECT 语句


SELECT 语句用于从数据库中选取数据。

结果被存储在一个结果表中,称为结果集。


SQL SELECT 语法


SELECT column_name,column_name
FROM table_name;

SELECT * FROM table_name;


演示数据库


在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 "Websites" 表的数据:

+----+--------------+---------------------------+-------+---------+

| id | name         | url                       | alexa | country |

+----+--------------+---------------------------+-------+---------+

| 1  | Google       | https://www.google.cm/    | 1     | USA     |

| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |

| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |

| 4  | 微博          | http://weibo.com/         | 20    | CN      |

| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |

+----+--------------+---------------------------+-------+---------+



SELECT Column 实例


下面的 SQL 语句从 "Websites" 表中选取 "name" 和 "country" 列:


实例


SELECT name,country FROM Websites;

输出结果为:

8da41f378ec03b3c81d51098078b1510_fc8e9a82524cbb7dcddcc8fca2e8eb85.jpeg


UPDATE - 更新数据库中的数据


SQL UPDATE 语句


UPDATE 语句用于更新表中的记录。


SQL UPDATE 语句


UPDATE 语句用于更新表中已存在的记录。


SQL UPDATE 语法


UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;


请注意 SQL UPDATE 语句中的 WHERE 子句!

WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!


演示数据库


在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 "Websites" 表的数据:

+----+--------------+---------------------------+-------+---------+

| id | name         | url                       | alexa | country |

+----+--------------+---------------------------+-------+---------+

| 1  | Google       | https://www.google.cm/    | 1     | USA     |

| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |

| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |

| 4  | 微博          | http://weibo.com/         | 20    | CN      |

| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |

+----+--------------+---------------------------+-------+---------+


SQL UPDATE 实例


假设我们要把 "菜鸟教程" 的 alexa 排名更新为 5000,country 改为 USA。

我们使用下面的 SQL 语句:


实例


UPDATE Websites 
SET alexa='5000', country='USA' 
WHERE name='菜鸟教程';

d4a9ec7922d365194642af8835a20910_f172aa6cc63e379196061423df8d47ab.jpeg


Update 警告!


在更新记录时要格外小心!在上面的实例中,如果我们省略了 WHERE 子句,如下所示:

UPDATE Websites
SET alexa='5000', country='USA'

执行以上代码会将 Websites 表中所有数据的 alexa 改为 5000,country 改为 USA。


执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。


DELETE - 从数据库中删除数据


SQL DELETE 语句


DELETE 语句用于删除表中的记录。


SQL DELETE 语句


DELETE 语句用于删除表中的行。


SQL DELETE 语法


DELETE FROM table_name
WHERE some_column=some_value;

请注意 SQL DELETE 语句中的 WHERE 子句!

WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记录都将被删除!



演示数据库


在本教程中,我们将使用 RUNOOB 样本数据库。


下面是选自 "Websites" 表的数据:


+----+--------------+---------------------------+-------+---------+

| id | name         | url                       | alexa | country |

+----+--------------+---------------------------+-------+---------+

| 1  | Google       | https://www.google.cm/    | 1     | USA     |

| 2  | 淘宝       | https://www.taobao.com/   | 13    | CN      |

| 3  | 菜鸟教程 | http://www.runoob.com/    | 4689  | CN      |

| 4  | 微博       | http://weibo.com/         | 20    | CN      |

| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |

+----+--------------+---------------------------+-------+---------+


SQL DELETE 实例


假设我们要从 "Websites" 表中删除网站名为 "Facebook" 且国家为 USA 的网站。

我们使用下面的 SQL 语句:


实例


DELETE FROM Websites 
WHERE name='Facebook' AND country='USA';

执行以上 SQL,再读取 "Websites" 表,数据如下所示:

e2b5b75423334794bff31fef5a636e3d_99865360cec9ba0624632220808cd774.jpeg


删除所有数据


您可以在不删除表的情况下,删除表中所有的行。这意味着表结构、属性、索引将保持不变:

DELETE FROM table_name;
DELETE * FROM table_name;

注释:在删除记录时要格外小心!因为您不能重来!


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


SQL INSERT INTO 语句


INSERT INTO 语句用于向表中插入新记录。


SQL INSERT INTO 语句


INSERT INTO 语句用于向表中插入新记录。


SQL INSERT INTO 语法


INSERT INTO 语句可以有两种编写形式。


第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

INSERT INTO table_name
VALUES (value1,value2,value3,...);

第二种形式需要指定列名及被插入的值:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

演示数据库


在本教程中,我们将使用 RUNOOB 样本数据库。


下面是选自 "Websites" 表的数据:


+----+--------------+---------------------------+-------+---------+

| id | name         | url                       | alexa | country |

+----+--------------+---------------------------+-------+---------+

| 1  | Google       | https://www.google.cm/    | 1     | USA     |

| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |

| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |

| 4  | 微博          | http://weibo.com/         | 20    | CN      |

| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |

+----+--------------+---------------------------+-------+---------+


INSERT INTO 实例


假设我们要向 "Websites" 表中插入一个新行。

我们可以使用下面的 SQL 语句:


实例


INSERT INTO Websites (name, url, alexa, country) 
VALUES ('百度','https://www.baidu.com/','4','CN');

执行以上 SQL,再读取 "Websites" 表,数据如下所示:

02ed921fdb783988fb4fae3a396e732a_34711efc0d5ff86328f2e3e7b9fad2c3.jpeg

您是否注意到,我们没有向 id 字段插入任何数字?

id 列是自动更新的,表中的每条记录都有一个唯一的数字。


在指定的列插入数据


我们也可以在指定的列插入数据。

下面的 SQL 语句将插入一个新行,但是只在 "name"、"url" 和 "country" 列插入数据(id 字段会自动更新):


实例


INSERT INTO Websites (name, url, country) 
VALUES ('stackoverflow', 'http://stackoverflow.com/', 'IND');

执行以上 SQL,再读取 "Websites" 表,数据如下所示:

7d14bb6a8783741222ce52572d6017cf_d495b90ed0634bee7990dab51ddef677.jpeg



目录
相关文章
|
SQL 存储 关系型数据库
SQL常用语句 笔记2
SQL常用语句 笔记2
69 0
|
SQL 关系型数据库 MySQL
SQL常用语句 笔记1
SQL常用语句 笔记
85 0
|
SQL
SQL语句学习系列(1)
SQL语句学习系列(1)
52 0
|
SQL 关系型数据库 MySQL
【SQL】一文带你掌握SQL基础语法
英文:Structured Query Language,简称 SQL 结构化查询语言,一门操作关系型数据库的编程语言 定义操作所有关系型数据库的统一标准 对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为“方言”
229 0
|
SQL Oracle 关系型数据库
sql是什么?以及sql基础语句(二)
sql是什么?以及sql基础语句
87 0
|
SQL 数据库 索引
SQL基础知识V2——SQL语句快速参考
以下是一些可以当工具书使用的参考语句,都是固定写法,需要的时候可以拿出来参考一下,一些不懂的可以暂时先跳过,紫色代码均是SQL语句的关键字~
|
SQL 关系型数据库 MySQL
SQL 手册-实用 SQL 语句-多语句
本文将介绍PolarDB-X多语句的相关信息。
152 0
|
SQL 存储 关系型数据库
SQL 手册-实用 SQL 语句-EXPLAIN 和执行计划
与多数数据库系统类似,PolarDB-X在处理SQL时,会通过优化器生成执行计划,该执行计划由关系操作符构成一个树形结构,反映PolarDB-X如何执行SQL语句;不同的是,PolarDB-X本身不存储数据,更侧重考虑分布式环境中的网络IO开销,将运算下推到各个分库(如RDS MySQL)执行,从而提升SQL执行效率。用户可通过EXPLAIN命令查看SQL的执行计划。
252 0