SQL语言基础

本文包括对数据表中数据的增删改查基本操作

基础

可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

查询和更新指令构成了 SQL 的 DML 部分:

SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据

SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:

CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

select

SELECT 列名称 FROM 表名称 获取指定一列或多列
SELECT * FROM 表名称 获取所有列

SELECT LastName,FirstName FROM Persons

SELECT DISTINCT

去掉重复的
SELECT DISTINCT 列名 FROM 表名

SELECT DISTINCT Company FROM Orders 

WHERE 子句

用于规定选择的标准
在select后加子句:WHERE 列 运算符 值
运算符:

=	等于
<>	不等于
>	大于
<	小于
>=	大于等于
<=	小于等于
BETWEEN	在某个范围内
LIKE	搜索某种模式
SELECT * FROM Persons WHERE City='Beijing'

用单引号环绕文本值,数字不要引号

AND & OR 运算符

可以多个条件一起过滤

# 查找姓为 thomos 名为carter的人
SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')
AND LastName='Carter'

ORDER BY 子句

根据指定的列对结果集进行排序。默认升序,降序用DESC 关键字

# 优先使用公司名排序,公司名相同的用号码排序
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber
# 优先使用公司名逆序排序,公司名相同的用号码顺序排序
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC 

INSERT INTO 语句

插入新的行
指定值
INSERT INTO 表名称 VALUES (值1, 值2,....)
指定列名和值,不指定的列值为空
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')

update

修改数据,修改一列或多列
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

# 为 lastname 是 "Wilson" 的人添加 firstname:
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' 
# 修改地址 城市
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'

DELETE 语句

删除行
DELETE FROM 表名称 WHERE 列名称 = 值

DELETE FROM Person WHERE LastName = 'Wilson' 

删除所有行:

DELETE FROM table_name
DELETE * FROM table_name
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值