贡献者: addis
SHOW DATABASES;
-- 注释直到行末,用 /* */ 注释块
SELECT * FROM 表名;
; 隔开
SELECT - extracts data from a database
UPDATE - updates data in a database
DELETE - deletes data from a database
INSERT INTO - inserts new data into a database
CREATE DATABASE - creates a new database
ALTER DATABASE - modifies a database
CREATE TABLE - creates a new table
ALTER TABLE - modifies a table
DROP TABLE - deletes a table
CREATE INDEX - creates an index (search key)
DROP INDEX - deletes an index
SELECT 列1, 列2, ... FROM 表格名; 获取的数据表叫做 result-set.如果要选取所有列,用 * 即可 e.g. SELECT * FROM 表格名; 显示名为 表格名 的表格中全部内容
SELECT DISTINCT 列1, 列2, ... FROM 表格名; 仅列出不完全相同的行,例如 SELECT DISTINCT Country FROM 表格名;
SELECT COUNT(*) FROM 表格名
SELECT COUNT(DISTINCT Country) FROM 表格名; 显示表格中有多少不同的国家.(这个命令在 Microsoft Access 里面没用),除了 COUNT 还有 AVG 和 SUM
SELECT 列1, 列2, ... FROM 表格名 WHERE condition;
SELECT * FROM 表格名 WHERE Country='Mexico';
SELECT * FROM 表格名 WHERE CustomerID=1;
WHERE 后面可以是 =, >, <, >=, <=, <>(不等于,有时候 != 也行), BETWEEN LIKE IN (在几个可能的值之中)
SELECT * FROM Products WHERE Price BETWEEN 50 AND 60;
WHERE 后面的条件可以用 AND, OR, NOT
SELECT 列1, 列2, ... FROM 表格名 WHERE NOT condition;
SELECT * FROM 表格名 WHERE City='Berlin' OR City='München';
SELECT OCTET_LENGTH(列名) FROM 表名 WHERE ...; 可以返回 blob 的大小
ORDER BY 来进行排序 SELECT 列1, 列2, ... FROM 表格名 ORDER BY 列1, 列2, ... ASC|DESC;
SELECT * FROM 表格名 ORDER BY Country DESC;
INSERT INTO 表格名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...); 插入行,如果每列都插入,那么 (列1, 列2,...) 可以省略
INSERT INTO 表格名 VALUES (值1, 值2, 值3, ...);
NULL
SELECT 列 FROM 表格名 WHERE 列 IS NULL;
SELECT 列 FROM 表格名 WHERE 列 IS NOT NULL;
WHERE,所有行的指定列都会被更新
UPDATE 表格名 SET 列1 = 值1, ..., 列n = 值n WHERE condition;
UPDATE 表格名 SET ContactName = 'Alfred Schmidt', City= 'Frankfurt' WHERE CustomerID = 1;
UPDATE 表格名 SET 列名 = 列名 + 1 WHERE ... 数值加 1.
DELETE FROM 表格名 WHERE condition; 删除符合条件的行
DELETE FROM 表格名 WHERE CustomerName='Alfreds Futterkiste';
ALTER TABLE 旧名字 RENAME TO 新名字;
ALTER TABLE 表名 DROP COLUMN 列名;
CREATE TABLE Person (列1名称 类型 选项1 选项2 ... , 列2名称 类型 选项1 选项2 ... , ...)
PRIMARY KEY 可以使表格的某一列不出现重复的值且不能为 NULL.一个表格中只能有一个 PRIMARY KEY,但可以是多行.
AUTO_INCREMENT 选项可以在创建时(如果不指定)自动比该列当前的最大值加 1,例如 ID 号.在 sqlite 中没有下划线且只能出现在 INTEGER PRIMARY KEY AUTOINCREMENT 中.
PRIMARY KEY,那就使用 FOREIGN KEY.例如在 Orders 表中链接 Persons 表中名为 PersonID 的 primary key:
CREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons (PersonID)
);
DROP TABLE 表名 删除表.