常用SQL语句

Posted zmj97

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用SQL语句相关的知识,希望对你有一定的参考价值。


title: 常用SQL语句
toc: true
date: 2018-09-29 11:55:20
categories:

  • Web

tags:

  • 数据库
  • SQL

一些最重要的 SQL 命令

  • SELECT - 从数据库中提取数据
  • UPDATE - 更新数据库中的数据
  • DELETE - 从数据库中删除数据
  • INSERT INTO - 向数据库中插入新数据
  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

SELECT

SELECT column1, column2, ...
FROM table_name;

这里,column1,column2,...是要从中选择数据的表的字段名称。如果要选择表中可用的所有字段,请使用以下语法:

SELECT * FROM table_name;

SELECT DISTINCT语法用于仅返回不同的(different)值。

SELECT DISTINCT column1, column2, ...
FROM table_name;

可以用COUNT获取不同值的数量:

SELECT COUNT(DISTINCT Country) FROM Customers;

WHERE

WHERE子句用于提取满足指定标准的记录,WHERE子句不仅用于SELECT语法,还用于UPDATE,DELETE语法等。

SELECT column1, column2, ...
FROM table_name
WHERE condition;

例如:

SELECT * FROM Customers
WHERE Country=\'Mexico\';

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

运算符 描述
= 等于
<> 不等于。 注意:在某些版本的SQL中,这个操作符可能写成!=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 为列指定多个可能的值

AND & OR & NOT

WHERE子句可以与AND,OR和NOT运算符结合使用。

AND和OR运算符用于根据多个条件筛选记录:

  • 如果由AND分隔的所有条件为TRUE,则AND运算符显示记录。
  • 如果由OR分隔的任何条件为真,则OR运算符显示记录。

如果条件不为真,则利用NOT运算符显示记录。

AND语法

SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;

OR语法

SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;

NOT语法

SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;

ORDER BY

ORDER BY 关键字用于按升序或降序对结果集进行排序。

ORDER BY 关键字默认情况下按升序排序记录。

如果需要按降序对记录进行排序,可以使用DESC关键字。

SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

例如:

SELECT * FROM Customers
ORDER BY Country DESC;

UPDATE

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

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

WHERE子句指定哪些记录需要更新。如果省略WHERE子句,所有记录都将更新!

栗子:

UPDATE Customers
SET ContactName=\'Juan\'
WHERE Country=\'Mexico\';

DELETE

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

DELETE FROM table_name
WHERE condition;

WHERE子句指定需要删除哪些记录。如果省略了WHERE子句,表中所有记录都将被删除!

栗子:

DELETE FROM Customers
WHERE CustomerName=\'Alfreds Futterkiste\';

INSERT INTO

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

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

指定要插入数据的列的名称,提供要插入的值:

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

如果要为表中的所有列添加值,则不需要在SQL查询中指定列名称。但是,请确保值的顺序与表中的列顺序相同。INSERT INTO语法如下所示:

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

空值

NULL用于表示缺失的值。

数据表中的 NULL 值表示该值所处的字段为空。

具有NULL值的字段是没有值的字段。

如何测试NULL值?

使用比较运算符(例如=,<或<>)来测试NULL值是不可行的。

我们将不得不使用IS NULL和IS NOT NULL运算符。

IS NULL语法

SELECT column_names
FROM table_name
WHERE column_name IS NULL;

IS NOT NULL语法

SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;

更多的可以看:

https://www.cnblogs.com/acpe/p/4970765.html

https://www.w3cschool.cn/sql/dlwiyfom.html

以上是关于常用SQL语句的主要内容,如果未能解决你的问题,请参考以下文章

面试常用的代码片段

Mybatis动态sql技术

sql语句中嵌套时候用in 和=有啥区别

sql语句 嵌套查询 排序

MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段

[AndroidStudio]_[初级]_[配置自动完成的代码片段]