贡献者: 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
,但可以是多行。
列名称 类型 UNIQUE
可以保证该列没有重复数据。
AUTO_INCREMENT
选项可以在创建时(如果不指定)自动比该列当前的最大值加 1,例如 ID 号。在 sqlite 中没有下划线且只能出现在 INTEGER PRIMARY KEY AUTOINCREMENT
中。
PRIMARY KEY
,那就使用 FOREIGN KEY (本表列名) REFERENCES 别的表名 (别的表的列名)
。例如在 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 表名
删除表。
 
 
 
 
 
 
 
 
 
 
 
友情链接: 超理论坛 | ©小时科技 保留一切权利