当前位置:Gxlcms > 数据库问题 > 常见的SQL语句

常见的SQL语句

时间:2021-07-01 10:21:17 帮助过:36人阅读

-- 一定要记住,SQL 对大小写不敏感! -- SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。 -- 通配符 %               替代一个或多个字符 _            仅替代一个字符 [charlist]    字符列中的任何单一字符 [^charlist] 或者 [!charlist] -- 数据类型    描述 INTEGER(size)   仅容纳整数。在括号内规定数字的最大位数。 INT(size) SMALLINT(size) TINYINT(size) DECIMAL(size,d) 容纳带有小数的数字。"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。 NUMERIC(size,d)  CHAR(size)    容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。在括号中规定字符串的长度。 VARCHAR(size)     容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。 在括号中规定字符串的最大长度。 DATE(yyyymmdd)    容纳日期。   CREATE TABLE shopnc_member_20160421 SELECT * FROM shopnc_member 前面的是备份的表,后面的是需要备份的表 -- 从表中选取数据: SELECT 列名称 FROM 表名称 SELECT * FROM 表名称 SELECT LastName,FirstName FROM Persons SELECT * FROM persons   -- 返回唯一不同的值: SELECT DISTINCT 列名称 FROM 表名称 SELECT DISTINCT company FROM orders   -- 有条件地从表中选取数据 第一个条件和第二个条件都成立 第一个条件和第二个条件中只要有一个成立 SELECT 列名称 FROM 表名称 WHERE 列 运算符 值 WHERE AND OR  = <> > < <= >= BETWEEN LIKE   -- 按照升序对记录进行排序   降序desc SELECT company,ordernumber FROM orders ORDER BY company DESC   -- 向表格中插入新的行: INSERT INTO 表名称 VALUES (值1, 值2,....) INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) INSERT INTO Persons VALUES (‘Gates‘, ‘Bill‘, ‘Xuanwumen 10‘, ‘Beijing‘) INSERT INTO Persons (LastName, Address) VALUES (‘Wilson‘, ‘Champs-Elysees‘)   -- 修改表中的数据: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 UPDATE Person SET FirstName = ‘Fred‘ WHERE LastName = ‘Wilson‘    -- 删除表中的行: DELETE FROM 表名称 WHERE 列名称 = 值 DELETE FROM Person WHERE LastName = ‘Wilson‘    -- 规定要返回的记录的数目 LIMIT number SELECT * FROM Persons LIMIT 5   -- 允许我们在 WHERE 子句中规定多个值 SELECT * FROM Persons WHERE LastName IN (‘Adams‘,‘Carter‘)   -- 选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期  如需使用上面的例子显示范围之外的人,请使用 NOT 操作符 SELECT * FROM Persons WHERE LastName BETWEEN ‘Adams‘ AND ‘Carter‘   -- 存在至少一个匹配时,INNER JOIN 关键字返回行 SELECT column_name(s) FROM table_name1 INNER JOIN table_name2  ON table_name1.column_name=table_name2.column_name SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo  FROM Persons  INNER JOIN Orders  ON Persons.Id_P=Orders.Id_P RDER  BY Persons.LastName   -- 从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行 SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName   -- 从右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行 SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons RIGHT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName   -- 从左表 (Persons) 和右表 (Orders) 那里返回所有的行。 -- 如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出 SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName   -- 合并两个或多个 SELECT 语句的结果集 SELECT E_Name FROM Employees_China UNION SELECT E_Name FROM Employees_USA   -- 从一个表中选取数据,然后把数据插入另一个表中;常用于创建表的备份复件或者用于对记录进行存档  -- "Persons" 表的备份复件: SELECT * INTO Persons_backup FROM Persons -- IN 子句可用于向另一个数据库中拷贝表: SELECT * INTO Persons IN ‘Backup.mdb‘ FROM Persons -- 如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域: SELECT LastName,FirstName INTO Persons_backup FROM Persons -- 通过从 "Persons" 表中提取居住在 "Beijing" 的人的信息,创建了一个带有两个列的名为 "Persons_backup" 的表: SELECT LastName,Firstname INTO Persons_backup FROM Persons WHERE City=‘Beijing‘ -- 创建一个名为 "Persons_Order_Backup" 的新表,其中包含了从 Persons 和 Orders 两个表中取得的信息: SELECT Persons.LastName,Orders.OrderNo INTO Persons_Order_Backup FROM Persons INNER JOIN Orders ON Persons.Id_P=Orders.Id_P   -- 创建数据库/创建数据库中的表 CREATE DATABASE database_name CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, .... )   -- 删除数据库/删除表 DROP DATABASE  DROP TABLE   -- 在表中添加/删除/修改列 ALTER TABLE table_name ADD column_name datatype ALTER TABLE table_name DROP COLUMN column_name ALTER TABLE table_name ALTER COLUMN column_name datatype   -- 约束强制列不接受 NULL 值 CREATE TABLE Persons ( Id_P INT NOT NULL, LastName VARCHAR(255) NOT NULL, FirstName VARCHAR(255), Address VARCHAR(255), City VARCHAR(255) )   -- 约束用于向列中插入默认值 CREATE TABLE Persons ( Id_P INT NOT NULL, LastName VARCHAR(255) NOT NULL, FirstName VARCHAR(255), Address VARCHAR(255), City VARCHAR(255) DEFAULT ‘Sandnes‘ )   -- 时间函数 函数            描述 NOW()            返回当前的日期和时间 CURDATE()    返回当前的日期 CURTIME()    返回当前的时间 DATE()            提取日期或日期/时间表达式的日期部分 EXTRACT()    返回日期/时间按的单独部分 DATE_ADD()    给日期添加指定的时间间隔 DATE_SUB()    从日期减去指定的时间间隔 DATEDIFF()    返回两个日期之间的天数 DATE_FORMAT()    用不同的格式显示日期/时间    

常见的SQL语句

标签:

人气教程排行