本文共 1571 字,大约阅读时间需要 5 分钟。
SELECT 语句用于从数据库表中提取数据,结果会存储在称为结果集的临时表中。
例如,SELECT * FROM table_name
可以从表中获取所有记录。 大多数数据库系统支持通过编程函数对结果集进行操作,从而实现记录的导航和修改。
使用 DISTINCT
关键字可以排除重复记录。
SELECT DISTINCT * FROM table_name
会去除相同字段的记录。 在 SQL 中,字符串值通常需要用单引号包裹(某些数据库也接受双引号)。
数字值则无需使用引号。例如,SELECT * FROM table_name WHERE city = '北京';
BETWEEN 可用于筛选范围内的数据,支持包含或不包含边界值。
例如,SELECT * FROM persons WHERE name BETWEEN 'mic' AND 'jack';
而 name NOT BETWEEN 'mic' AND 'jack';
则排除边界值。需要注意的是,不同数据库对 BETWEEN...AND 的处理方式有所不同。 UNION 可用于将两个 SELECT 语句的结果合并,但前提是两个 SELECT 语句的列数量、数据类型和顺序必须完全一致。
如果需要保留重复值,请使用 UNION ALL。例如,SELECT * FROM persons UNION SELECT * FROM users;
SELECT INTO 语句用于创建表的备份副本或进行数据存档。
例如,SELECT * INTO persons_bak FROM persons;
如果需要将结果导出到另一个数据库中,可以使用 SELECT * INTO 'backup.mdb' FROM persons;
复杂的查询可以通过 SELECT p.lname, o.name INTO or_bak FROM persons INNER JOIN orders ON p.orderID = o.orderID;
实现。 CREATE TABLE 语句用于定义新表结构。
例如,CREATE TABLE persons (name VARCHAR(255) NOT NULL, id INT NOT NULL, UNIQUE(id))
在不同的数据库中,唯一性约束的定义方式有所不同。 在已有的表中,可以通过 ALTER TABLE 进行修改。
例如,ALTER TABLE persons ADD UNIQUE (id, lastname);
如果需要为多个列定义唯一性约束,可以使用 ALTER TABLE persons ADD CONSTRAINT unique_personID (id, lastname);
在某些数据库中,可以通过 ALTER TABLE persons DROP INDEX unique_personID;
或 ALTER TABLE persons DROP CONSTRAINT unique_personID;
来撤销唯一性约束。
主键列不能包含 NULL 值,但可以为空。
MID 函数用于从文本字段中提取特定字符,MID(str, pos, len)
等同于 SUBSTRING(str, pos, len)
。
SELECT MID(city, 2, 3) AS smallCity FROM persons;
此功能与数组访问方式不同,且第三个参数可选。 转载地址:http://etdfk.baihongyu.com/