SQL的增删改查语句
2022-11-18 21:47:47237浏览
学好SQL语句对我们渗透有很大的帮助,增删改查语句也是SQL里面的基础语句。

一、什么是SQL

SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。注意,SQL 不区分大小写:SELECT 与 select 是相同的。

二、SQL增删改查语句

增删改查是一个数据操作工具最基本的命令,在SQL中,这四种语句主要由以下关键字语句执行:

  • 增:insert
  • 删:delete
  • 改:update
  • 查:select

要注意的是,在每条SQL语句的末端使用;分号。

1、增:insert into 语句

功能: 向表中插入新纪录,可以插入一行也可以插入多行。

语法: insert into 语句有两种编写方式。

1.无需指定需要插入数据的列名,只需要提供被插入的值就行。

  insert into table_name
values(value1,value2,value3,···);

2.需要指定列名及被插入的值。

insert into tablea_name(column1,column2,column3,···)
values(value1,value2,value3···);

2、删:delete

功能: 用于删除表中的行。

语法:

DELETE FROM table_name
WHERE some_column=some_value;

3、改:update

功能: 用于更新表中已存在的记录。

语法:

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

4、查:

功能:SELECT 语句用于从数据库中选取数据,选取结果被存储在一个结果表中,称为结果集。 语法:可以用以下语句选择特定列名,或用*代替表示所有列。

SELECT column_name,column_name
FROM table_name;

SQL里面的查询语句比较多,这里我们一条一条来讲。

1.Select distinct语句

功能:在表中,一个列可能会包含多个重复值,有时你也许希望仅仅列出不同(distinct)的值。distinct 关键词用于返回唯一不同的值。 语法

SELECT DISTINCT column_name,column_name
FROM table_name;

2.Select … where 语句

功能:SELECT语句用于从数据库中选取数据,WHERE子句用于提取那些满足指定条件的记录。而指定条件需要用到各种运算符。语法:

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

WHERE 子句中的运算符

下面的运算符可以在 WHERE 子句中使用:

3.select ··· order by 语句

功能: SELECT语句用于从数据库中选取数据,用于对一列或者多列数据进行升序(ASC)或者降序(DESC)排列。默认为升序排列,如果要对某元素按降序排列则在对应关键字后添加参数DESC。语法:

SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN][ASC | DESC];

4.select top 子句

功能:SELECT TOP 子句用于规定要返回的记录的数目。SELECT TOP 子句对于拥有数千条记录的大型表来说,是非常有用的。注意:并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。SQL Server / MS Access 语法:

SELECT TOP number|percent column_name(s)
FROM table_name;

5.select ··· join 语句

功能:JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。类型:

INNER JOIN:如果表中有至少一个匹配,则返回行;
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行;
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行;
FULL JOIN:只要其中一个表中存在匹配,则返回行。

三、扩展

1、XXX ... select 语句

(1)功能:在一个查询语句中使用另一个查询语句的结果,用于无法一次查询到所需内容的情况。

(2)子查询可以与 SELECT、INSERT、UPDATE 和 DELETE 语句一起使用,并可使用运算符如 =、<、>、>=、<=、IN、BETWEEN 等。

(3)以下是子查询必须遵循的几个规则

子查询必须用括号括起来。
子查询在 SELECT 子句中只能有一个列,除非在主查询中有多列,与子查询的所选列进行比较。
ORDER BY 不能用在子查询中,虽然主查询可以使用 ORDER BY。可以在子查询中使用 GROUP BY,功能与 ORDER BY 相同。
子查询返回多于一行,只能与多值运算符一起使用,如 IN 运算符。
BETWEEN 运算符不能与子查询一起使用,但是,BETWEEN 可在子查询内使用。

(4)语法:

--SELECT 语句中的子查询使用
SELECT column_name [, column_name ]
FROM table1 [, table2 ]
WHERE column_name OPERATOR
(SELECT column_name [, column_name ]
FROM table1 [, table2 ]
[WHERE])

--INSERT 语句中的子查询使用
--INSERT 语句使用子查询返回的数据插入到另一个表中。
INSERT INTO table_name [ (column1 [, column2 ]) ]
SELECT [ *|column1 [, column2 ] ]
FROM table1 [, table2 ]
[ WHERE VALUE OPERATOR ]

--UPDATE 语句中的子查询使用
--当通过 UPDATE 语句使用子查询时,表中单个或多个列被更新。
UPDATE table
SET column_name = new_value
[ WHERE OPERATOR [ VALUE ]
(SELECT COLUMN_NAME
FROM TABLE_NAME)
[ WHERE) ]

--DELETE 语句中的子查询使用
DELETE FROM TABLE_NAME
[ WHERE OPERATOR [ VALUE ]
(SELECT COLUMN_NAME
FROM TABLE_NAME)
[ WHERE) ]

2、数据库的连接与退出

要对数据库进行操作,需要先连接数据库;操作完毕后需要退出数据库。

对数据库的连接与退出命令如下:

  /*两种连接方式*/
mysql -uroot -ppass -- 连接本地SQL,账号为root,密码为pass
mysql -h192.168.1.101 -uroot -ppass -- 连接远程SQL,IP为192.168.1.101,账号为root,密码为pass

/*三种退出方式*/
exit;
quit;
\q;

四、总结

(1)掌握select及其扩展的各种查询语句,如; Select distinct 、 Select … where、 Select … order by、Select … group by、SELECT TOP 、Select … join等语句

(2)掌握insert 、delete、update等增删改语句;

(3)掌握增删改查中包含子查询的语句;

(4)掌握数据库的连接与退出方式。


友情链接: