欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库SQL语句学习

程序员文章站 2022-05-09 19:06:09
...

1. SQL简介

SQL 是用于访问和处理数据库的标准的计算机语言。全称是 Structured Query Language。

2. mySql 的语法结构

https://www.runoob.com/sql/sql-top.html

3. 自我总结

基本功能语句

包括数据库的增删改查等操作。

3.1 创建表

CREATE TABLE 语句用于创建数据库中的表。
表由行和列组成,每个表都必须有个表名。

CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);

column_name 参数规定表中列的名称。
data_type 参数规定列的数据类型(例如 varchar、integer、decimal、date 等等)。
size 参数规定表中列的最大长度。
示例:

CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);

PersonID 列的数据类型是 int,包含整数。
LastName、FirstName、Address 和 City 列的数据类型是 varchar,包含字符,且这些字段的最大长度为 255 个字符。

3.2 插入

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

  • INSERT INTO 语句可以有两种编写形式。
    第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
INSERT INTO table_name
VALUES (value1,value2,value3,...);

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

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
  • 注:没有指定要插入数据的列名的形式需要列出插入行的每一列数据:
  • 示例:
INSERT INTO Websites (name, url, country)
VALUES ('*', 'http://*.com/', 'IND');

3.3 查询

SELECT 语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。

SELECT column_name,column_name
FROM table_name;

SELECT * FROM table_name;

SELECT语句常见的限制条件

  • SELECT DISTINCT
    SELECT DISTINCT 语句用于返回唯一不同的值。
SELECT DISTINCT column_name,column_name
FROM table_name;

  • AND & OR
    AND & OR 运算符用于基于一个以上的条件对记录进行过滤。
SELECT * FROM Websites
WHERE alexa > 15
AND (country='CN' OR country='USA');
  • WHERE
    WHERE 子句用于提取那些满足指定条件的记录。
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

  • LIKE
    LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;

示例

SELECT * FROM Websites
WHERE name LIKE 'G%';  //查找以G开头的
SELECT * FROM Websites
WHERE name LIKE '%k';  //以k结尾的
SELECT * FROM Websites
WHERE name LIKE '%oo%'; //包含oo
  • IN
    IN 操作符允许您在 WHERE 子句中规定多个值。
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
  • BETWEEN
    BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;

3.4 删除

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

DELETE FROM table_name
WHERE some_column=some_value;

约束

SQL 约束用于规定表中的数据规则。
如果存在违反约束的数据行为,行为会被约束终止。
约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

1. NOT NULL

  • 指示某列不能存储 NULL 值。

2. UNIQUE

  • 保证某列的每行必须有唯一的值。

3. PRIMARY KEY

  • NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。

4. FOREIGN KEY

  • 保证一个表中的数据匹配另一个表中的值的参照完整性。

5. CHECK

  • 保证列中的值符合指定的条件。

6. DEFAULT

  • 规定没有给列赋值时的默认值。

连接

SQL join 用于把来自两个或多个表的行结合起来。
下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。
数据库SQL语句学习

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

函数

SQL 拥有很多可用于计数和计算的内建函数

SQL Aggregate 函数

SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。

有用的 Aggregate 函数:

  • AVG() - 返回平均值
  • COUNT() - 返回行数
  • FIRST() - 返回第一个记录的值
  • LAST() - 返回最后一个记录的值
  • MAX() - 返回最大值
  • MIN() - 返回最小值
  • SUM() - 返回总和

SQL Scalar 函数

SQL Scalar 函数基于输入值,返回一个单一的值。

相关标签: 面试准备