> MySQL关键字 - Yuyy
Yuyy
Yuyy
MySQL关键字

RIGHT JOIN

关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

DISTINCT

用于返回唯一不同的值。SELECT DISTINCT 列名称 FROM 表名称

DELETE

DELETE FROM 表名称 WHERE 列名称 = 值
DELETE FROM tablename 删除表中所有行

TOP

SELECT TOP 2 * FROM Persons 选取头两条记录。
SELECT TOP 50 PERCENT * FROM Persons 选取 50% 的记录。

LIKE

SELECT * FROM Persons WHERE City LIKE 'N%'
+ 通配符
+ % 替代一个或多个字符
+ _ 仅替代一个字符
+ [charlist] 字符列中的任何单一字符
+ [^charlist] 或者 [!charlist] 不在字符列中的任何单一字符

LIMIT

  • MySQL的方言
  • SELECT * FROM operation WHERE type = 'SQLStats' AND name = 'SlowLog' ORDER BY create_time LIMIT 1000, 10;
  • 数据库也并不知道第1000000条记录从什么地方开始,即使有索引也需要从头计算一次。在前端数据浏览翻页,或者大数据分批导出等场景下,是可以将上一页的最大值当成参数作为查询条件的。SQL 重新设计如下:
  • SELECT * FROM operation WHERE type = 'SQLStats' AND name = 'SlowLog' AND create_time > '2017-03-16 14:00:00' ORDER BY create_time limit 10;

SQL查询中inexists的区别分析

  • select * from A where id in (select id from B);
  • select * from A where exists (select 1 from B where A.id=B.id);
  • in是在内存里遍历比较,而exists需要查询数据库,所以当B表数据量较大时,exists效率优于in。

UNION

UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。行不重复

UNION ALL

列出所有的值。允许行重复

SELECT INTO

  • 从一个表中选取数据,然后把数据插入另一个表中。
  • 常用于创建表的备份复件或者用于对记录进行存档。
  • 制作 "Persons" 表的备份复件:
    SELECT * INTO Persons_backup FROM Persons
  • IN 子句可用于向另一个数据库中拷贝表:
    SELECT * INTO Persons IN “Backup.mdb” FROM Persons

UNIQUE

每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束,但是可由多个字段组成主键。
ALTER TABLE Persons ADD UNIQUE (Id_P)

foreign

英 [ˈfɒrən]
美 [ˈfɔːrən]
adj.外国的; 涉外的; 外交的; 非典型的; 陌生的

references

英 [ˈrefrənsɪz]
美 [ˈrefrənsɪz]
n.说到(或写到)的事; 提到; 谈及; 涉及; 参考; 查询; 查阅; (帮助或意见的) 征求,征询;
v.查阅; 参考; 给(书等)附参考资料

FOREIGN KEY

外键

        CREATE TABLE Orders
        (
                Id_O int NOT NULL,
                OrderNo int NOT NULL,
                Id_P int,
                PRIMARY KEY (Id_O),
                FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
        );

        ALTER TABLE Orders
        ADD FOREIGN KEY (Id_P)
        REFERENCES Persons(Id_P);

CHECK

用于限制列中的值的范围。

        CREATE TABLE Persons
        (
                Id_P int NOT NULL,
                City varchar(255),
                CHECK (Id_P>0)
        )

DEFAULT

用于向列中插入默认值。

CREATE TABLE Persons
        (
                Id_P int NOT NULL,
                City varchar(255) DEFAULT 'Sandnes'
        )

发表评论

textsms
account_circle
email

Yuyy

MySQL关键字
RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。 DISTINCT 用于返回唯一不同的值。SELECT DISTINCT 列名称 FROM 表名称 DELETE…
扫描二维码继续阅读
2020-03-26
友情链接
标签
归档
近期文章
分类
近期文章