MySQL关键字!

  • A+
所属分类:SQL技巧

MySQL关键字!

IGHT JOIN

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

DISTINCT

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

DELETE

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

TOP

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

LIKE

SELECT * FROMPersons 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查询中in和exists的区别分析

·        select * from A where id in (select id fromB);

·        select * from A where exists (select 1 fromB 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 intNOT NULL,

               Id_P int,

               PRIMARY KEY(Id_O),

               FOREIGN KEY(Id_P) REFERENCESPersons(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'

        )

视图

·        CREATE VIEW <视图名> AS <SELECT语句>

·        存储过程

   mysql> delimiter $$  #将语句的结束符号从分号;临时改为两个$$(可以是自定义)

mysql> CREATE PROCEDURE delete_matches(INp_playerno INTEGER)

    -> BEGIN

    ->   DELETEFROM MATCHES

    ->   WHERE playerno = p_playerno;

    -> END$$

Query OK, 0 rows affected (0.01 sec)

mysql> delimiter;  #将语句的结束符号恢复为分号

·        查询和” 01 “号的同学学习的课程完全相同的其他同学的信息
先找相同的课程,在判断数量是否相同

·        desc降序 asc升序 where可以和having一起使用,having的作用域是分组

·        sum(case when sc.score>=60 then 1 else 0 end)/count(*) as 及格率,

·        创建数据库时设置默认编码
注意是utf8 而不是utf-8

登录:

mysql 【-h主机名 -P端口号 】-u用户名 -p密码

查看当前库的所有表

show tables;

查看其它库的所有表

show tables from 库名;

查看表结构

desc 表名;

查看服务器的版本

select version();

注释

单行注释:#注释文字
单行注释:– 注释文字

逻辑运算符:

·        and(&&):两个条件如果同时成立,结果为true,否则为false

·        or(||):两个条件只要有一个成立,结果为true,否则为false

·        not(!):如果条件成立,则not后为false,否则为true

注意

·        字符型和日期型的常量值必须用单引号引起来,数值型不需要

·        尽量使用MySQL原生的关键字(and or not <> not)

查询表达式

select 100/1234;

起别名

·        as

·        空格

+

·        作用:做加法运算

·        select 数值+数值; 直接运算

·        select 字符+数值;先试图将字符转换成数值,如果转换成功,则继续运算;否则转换成0,再做运算

·        select null+值;结果都为null

concat函数

功能:拼接字符
select concat(字符1,字符2,字符3,...);

ifnull函数

功能:判断某字段或表达式是否为null,如果为null 返回指定的值,否则返回原本的值
select ifnull(commission_pct,0) from employees;

isnull函数

功能:判断某字段或表达式是否为null,如果是,则返回1,否则返回0

如果大家有其他的方法,或者想要知道哪方面的办公技巧,下方评论哦~

学习资料见知识星球。

以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。

快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利​​​​!

更多技巧, www.excelbook.cn

欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

MySQL关键字!

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、一次付费只需99元,即可下载本站文章涉及的文件和软件。

  • 我的微信
  • weinxin
  • 我的知识星球
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: