1, insert 单引号时,使用/转义

2, 不要用NULL, 查找时使用isNull 来判断。

3, 用and / or 连接两个not 时,要写两个NOT

4,delete from table //删除全部表内容

5, 改变N个列

ALTER TABLE project

CHANGE COLUMN description new_desc VARCHAR(100),

CHANGE COLUMN contents  new_contents VARCHAR(30);

修改类型

ALTER TABLE project

MODIFY COLUMN contents VARCHAR(120);

 

ALTER TABLE project

ADD COLUMN start_date DEC(7,2);//记得这是什么类型了吗

DROP COLUMN …

6,MODIFY 无法重新排列列的顺序,只有添加列才是调整序的好时机。

7,超大型的

UPDATE my_table

SET new_col=

CASE

  WHEN col1 = value1  THEN newva1

  WHEN col2 = value2 THEN newva2

  ELSE newval3

END;

8, ORDER BY 根据某个列(某几个)列返回结果

DESC 有时叫做description 有时又叫descending

SELECT *

FROM T

ORDER BY t1 ASC, p1 DESC;

9, SUM 把括号内出现的列值加总

SELECT name, SUM(salary)

FROM sales

GROUP BY name //分组

ORDER BY SUM(salary) DESC;// 必须根据求和所用的列排序

 

10, AVG 配GROUP BY

SELECT name, AVG(salary)

FROM sales

GROUP BY name; //AVG 先把组内所有值求和,再求平均。

 

11, MIN / MAX

SELECT name, MAX(salary)

FROM sales

GROUP BY name; // 返回每个人拿过的最高工资

12,DISTINCT 是个关键字不是函数,所以不用括号

SELECT DISTINCT sdate

FROM sales

ORDER BY sdate;// 没有重复的日期

 

SELECT COUNT(DISTINCT sdate)

FROM sales; // 因为COUNT 只返回一个值,不需要ORDER DY,

 

13,LIMIT 1,1; //SQL 从0开始计数, 所以取第二条

14, 模式SCHEMA 用于表达数据库内的结构,表和列,他们之间相互连接方式。

15, 外键使用的主键也称父键。主键所在的表称为父表。

外键用于确认一张表中的行与另张表中的行相对应。外键值可为NULL即使主键不可为NULL.外键不需要唯一性。

可以通过约束来保证外键有意义,

插入外键列的值必须已经存在于父表的来源列中,这是引用完整性。

16,1NF 数据列只包含原子性的值 没有重复的数据组

17, T.x  -> T.y  //  从右到左读作,在关系表T中,y列依赖于x列,

18,2NF 没有部分依赖的1NF 或,符合1NF的表只有一列主键就是2NF。

19,3NF 没有传递依赖的2NF

20,内联

交叉连接CROSS JOIN 默认不写就是交叉,返回两张表的每一行相乘结果

相等连接INNER JOIN  equijoin  不等连接..ON T.a <> S.a

自然连接NATURAL JOIN 没有ON,利用同列名的连接,

21, IN , NOT IN   … NOT EXISTS 比比效率吧

 

22,外连接

LEFT OUTER JOIN 接收左表中所有行,用这些行与右表匹配。当左与右有一对多关系时有用。结果集中的NULL行表示右表中没有相符记录行。

RIGHT OUTER JOIN 

一个表可同时作外连接左右表

23, UNION 规则

每个SELECT 列的数量一致,表达式与统计函数相同,

SQL 会默认清除重复值 如果不想清除使用UNION ALL

列的数据类型相同或可转

如果想对结果排序,请在最后一条SELECT 加入ORDER BY 能排列整个结果集

INTERSECT A&B

EXCEPT   A-B

24,视图

CREATE VIEW name AS

...

25,再背一遍ACID

atomicity 

consistency

isolation

durability

26,事务管理

START TRANSACTION;//追踪后续所有SQL

COMMIT;//提交之前数据库不会有任何行为

ROLLBACK;//回滚到事务开始前。

 

27,密码

SET PASSWORD FOR 'root' @ 'localhost' PASSOWRD('XXXX');

ALTER USER ROOT IDENTIFIED BY new-password;

 

GRANT SELECT ON

table1

TO user1;

 

REVOKE SELECT ON

table1

FROM user1;

 

REVOKE DELETE ON

table1

FROM user1 CASCADE;

 

i am sorry i have not appreciated the  strong point of this bookl.

随机推荐

  1. 为什么丑陋的UI界面却能创造良好的用户体验?

    本文内容由Mockplus团队翻译. 官网:http://www.mockplus.cn 网站界面过于漂亮可能会影响网站的可用性,但本文中提到的5个网站界面可谓是“丑”出了新高度.这样的网站它还有可用 ...

  2. 掌握zigbee网络里的相关的重要概论

    1.zigbee无线通信,需要高频的载波来提供发射效率,zigbee模块之间要可以正常的收发,必须把接收频率设置和发射模块的载波频率一致. 2.zigbee有27个载波可以进行通信,载波叫做信道(无线 ...

  3. Spring框架总结(四)

    对象依赖关系 Spring中,如何给对象的属性赋值?  [DI, 依赖注入] 1) 通过构造函数 2) 通过set方法给属性注入值 3) p名称空间 4)自动装配(了解) 5) 注解 一.对象属性赋值 ...

  4. Python 通过配置文件 读取参数,执行测试用例,生成测试报告并发送邮件

    #-*-coding:utf-8-*- #测试用例配置参数 #XXXXX_Uitest->baseinfo->__init__.py base_url = "http://XXX ...

  5. 虚拟化技术KVM

    1>虚拟化技术: 计算机虚拟化技术是多种技术的综合实现,它包括硬件平台,操作系统,存储以及网络等,简单地说,虚拟化技术就是在单台主机上可以虚拟多个虚假主机,并可以在这些虚拟主机上运行不同的操作系 ...

  6. C++基本数据类型(转)

    C++中定义了一组表示整数.浮点数.单个字符和布尔值的算术类型(arithmetic type). 另外还定义了一种叫做void的特殊类型.void类型没有对应的值,仅用在有限的一些情况下,通常用作无 ...

  7. memcached整理の基本使用

    memcached 客户端与服务器端的通信比较简单,使用的基于文本的协议,而不是二进制协议.(http 协议也是这样), 因此我们通过telnet 即可与memcached 作交互. # 格式teln ...

  8. js和C# 时间日期格式转换

    下午在搞MVC和EXTJS的日期格式互相转换遇到了问题,我们从.NET服务器端序列化一个DateTime对象的结果是一个字符串格式,如 '/Date(1335258540000)/' 这样的字串. 整 ...

  9. PostgreSQL按年月日分组

    Select EXTRACT(year from cast(joindate as timestamp)) as Year, EXTRACT(month from cast(joindate as t ...

  10. 在一台服务器上搭建相对高可用HiveServer实践

    本文来自网易云社区 作者:刘杰 问题及原因 组里之前搭建了一个hiveserver提供给猛犸上的ETL程序调用,hiveserver隔三差五地挂掉重启,网上查了些资料,也咨询了猛犸那边维护hivese ...