数据库的基础操作

前言
            SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)
7

一、一些最重要的 SQL 命令
SELECT - 从数据库中提取数据
UPDATE - 更新数据库中的数据
DELETE - 从数据库中删除数据
INSERT INTO - 向数据库中插入新数据
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
二、查询(SELECT)
1、查询所有列
SELECT * FROM Websites   

2、查询指定列
SELECT name,country FROM Websites;  

3、查询并去重(DISTINCT )
SELECT DISTINCT country FROM Websites;

4、按条件查询where
SELECT * FROM Websites WHERE id=1;

SELECT * FROM Websites WHERE country='CN';


 5、SQL AND & OR 运算符
从 "Websites" 表中选取国家为 "CN" 且alexa排名大于 "50" 的所有网站:
SELECT * FROM Websites WHERE country='CN' AND alexa > 50;

从 "Websites" 表中选取国家为 "USA" 或者 "CN" 的所有客户:
SELECT * FROM Websites WHERE country='USA' OR country='CN';

从 "Websites" 表中选取 alexa 排名大于 "15" 且国家为 "CN" 或 "USA" 的所有网站:
SELECT * FROM Websites WHERE alexa > 15 AND (country='CN' OR country='USA');

6、SQL ORDER BY 关键字
ORDER BY 关键字用于对结果集进行排序。

ASC:表示按升序排序。
DESC:表示按降序排序。
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
7、SQL LIMIT 关键字
LIMIT指定返回的记录的数目

SELECT *
FROM Persons
LIMIT 5;
8、SQL LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SELECT column1, column2, ...
FROM table_name
WHERE column LIKE pattern;
示例
选取 name 以字母 "G" 开始的所有客户

SELECT * FROM Websites
WHERE name LIKE 'G%';

选取 name 以字母 "k" 结尾的所有客户:

SELECT * FROM Websites
WHERE name LIKE '%k';

选取 name 包含模式 "oo" 的所有客户:

SELECT * FROM Websites
WHERE name LIKE '%oo%';

选取 name 不包含模式 "oo" 的所有客户:

SELECT * FROM Websites
WHERE name NOT LIKE '%oo%';

9、SQL IN 操作符
IN 操作符允许您在 WHERE 子句中规定多个值。

SELECT * FROM Websites
WHERE name IN ('Google','百度','必应');

9、SQL BETWEEN 操作符
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

示例:

选取 alexa 介于 1 和 20 之间的所有网站:

SELECT * FROM Websites
WHERE alexa BETWEEN 1 AND 20;

选取 alexa 介于 1 和 20 之间但 country 不为 USA 和 IND 的所有网站:

SELECT * FROM Websites
WHERE (alexa BETWEEN 1 AND 20)
AND country NOT IN ('USA', 'IND');

选取 date 介于 '2016-05-10' 和 '2016-05-14' 之间的所有访问记录:

SELECT * FROM access_log
WHERE date BETWEEN '2016-05-10' AND '2016-05-14';

三、插入(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, alexa, country) VALUES ('百度','https://www.baidu.com/','4','CN');

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

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

在更新记录时要格外小心!在上面的实例中,如果我们省略了 WHERE 子句,如下所示:

UPDATE Websites
SET alexa='5000', country='USA'
执行以上代码会将 Websites 表中所有数据的 alexa 改为 5000,country 改为 USA。

执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。

五、删除(DELETE)
DELETE 语句用于删除表中的记录。

DELETE FROM table_name
WHERE condition;
示例

DELETE FROM Websites WHERE name='Facebook' AND country='USA';

注意

您可以在不删除表的情况下,删除表中所有的行。这意味着表结构、属性、索引将保持不变:

DELETE FROM table_name;

注释:在删除记录时要格外小心!因为您不能重来!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值