当前位置 : 主页 > 编程语言 > 其它开发 >

SQL语言基础

来源:互联网 收集:自由互联 发布时间:2022-05-30
SQL语言基础 SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控
SQL语言基础

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

本文主要记录一些主要的SQL命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)

注意:SQL语句对大小写不敏感。

基本语句
  1. WHERE

条件语句,用于提取那些满足指定条件的记录

-- 匹配 名字为zzz 的记录
... WHERE name='zzz'
  1. AND & OR

运算符,用于基于一个以上的条件对记录进行过滤

-- 匹配 年龄大于18且性别为M的 记录
... WHERE age>18 AND gender='M'

-- 匹配 城市是gz或者是sz的 记录
... WHERE city='gz' OR city='sz'
  1. ORDER BY

排序关键字,用于对结果集进行排序,默认按照升序对记录进行排序

-- 对匹配记录中age字段进行升序排序
... ORDER BY age

-- 对匹配记录中id字段进行降序排序
... ORDER BY id DESC

-- 多字段排序
-- 先对age升序再按照id升序排序
... ORDER BY age, id
  1. IN

操作符允许在 WHERE 子句中规定多个值。

-- 匹配 名字为a或者b 的记录
... WHERE name IN ('a', 'b')

-- 匹配 名字不为c或者d 的记录
... WHERE name NOT IN ('c', 'd')
  1. BETWEEN

操作符用于选取介于两个值之间的数据范围内的值。

-- 匹配 年龄在18-20之间 的记录
... WHERE age BETWEEN 18 AND 20

-- 匹配 年龄不在18-20之间 的记录
... WHERE age NOT BETWEEN 18 AND 20
查询 SELECT

语法:SELECT [column] FORM [table_name]

[column] 字段名, *为通配符(匹配所有字段)
[table_name] 表名

-- 查询students表中所有字段
SELECT * FROM students

-- 查询students表中name,age字段
SELECT name, age FROM students

-- 配合条件查询 where
-- 查询students表中age=18的学生name,age字段
SELECT name, age FROM students WHERE age=18
更新 UPDATE

语法:UPDATE table_name SET column1=value1,column2=value2,...

[table_name] 表名
[column] 字段名
[value] 更新值

注意:如果UPDATE中省略了WHERE子句,表中所有的记录都将被更新!以下例子仅为了方便,实际使用时建议配置WHERE子句!

-- 更新students表中所有学生的country字段
UPDATE students SET country='CN' 

-- 更新students表中男学生的country字段
UPDATE students SET country='CN' WHERE gender='M'

-- 更新多字段
UPDATE students SET country='CN', age=18
插入 INSERT INTO

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

[table_name] 表名,与[colum]二选一
[column] 字段名
[value1] 对应字段值

-- 将id=1,name=zzz,score=90的学生信息插入students表
INSERT INTO id, name, score VALUES (1, 'zzz', 90)

-- 如果插入字段与表中字段是一一对应时,可直接写表名
INSERT INTO students VALUES (1, 'zzz', 90)
删除 DELETE

语法:DELETE FORM [table_name]

[table_name] 表名

注意:如果DELETE中省略了WHERE子句,表中所有的记录都将被删除!以下例子仅为了方便,实际使用时建议配置WHERE子句!

-- 删除students表中所有age=18的记录
DELETE FROM students WHERE age=18

-- 多条件
DELETE FROM students WHERE age=18 AND gender='M'

网友评论