加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

1000行MySQL学习笔记,不怕你不会,就怕你不学!

发布时间:2019-04-10 12:27:20 所属栏目:MySql教程 来源:格物
导读:Windows服务 --启动MySQL netstartmysql --创建Windows服务 sccreatemysqlbinPath=mysqld_bin_path(注意:等号与值之间有空格) 连接与断开服务器 mysql-h地址-P端口-u用户名-p密码 SHOWPROCESSLIST--显示哪些线程正在运行 SHOWVARIABLES--显示系统变量信息

建表规范

  1. -- Normal Format, NF 
  2.         - 每个表保存一个实体信息 
  3.         - 每个具有一个ID字段作为主键 
  4.         - ID主键 + 原子表 
  5.     -- 1NF, 第一范式 
  6.         字段不能再分,就满足第一范式。 
  7.     -- 2NF, 第二范式 
  8.         满足第一范式的前提下,不能出现部分依赖。 
  9.         消除符合主键就可以避免部分依赖。增加单列关键字。 
  10.     -- 3NF, 第三范式 
  11.         满足第二范式的前提下,不能出现传递依赖。 
  12.         某个字段依赖于主键,而有其他字段依赖于该字段。这就是传递依赖。 
  13.         将一个实体信息的数据放在一个表内实现。 

SELECT

  1. SELECT [ALL|DISTINCT] select_expr FROM -> WHERE -> GROUP BY [合计函数] -> HAVING -> ORDER BY -> LIMIT 
  2. a. select_expr 
  3.     -- 可以用 * 表示所有字段。 
  4.         select * from tb; 
  5.     -- 可以使用表达式(计算公式、函数调用、字段也是个表达式) 
  6.         select stu, 29+25, now() from tb; 
  7.     -- 可以为每个列使用别名。适用于简化列标识,避免多个列标识符重复。 
  8.         - 使用 as 关键字,也可省略 as. 
  9.         select stu+10 as add10 from tb; 
  10. b. FROM 子句 
  11.     用于标识查询来源。 
  12.     -- 可以为表起别名。使用as关键字。 
  13.         SELECT * FROM tb1 AS tt, tb2 AS bb; 
  14.     -- from子句后,可以同时出现多个表。 
  15.         -- 多个表会横向叠加到一起,而数据会形成一个笛卡尔积。 
  16.         SELECT * FROM tb1, tb2; 
  17.     -- 向优化符提示如何选择索引 
  18.         USE INDEX、IGNORE INDEX、FORCE INDEX 
  19.         SELECT * FROM table1 USE INDEX (key1,key2) WHERE key1=1 AND key2=2 AND key3=3; 
  20.         SELECT * FROM table1 IGNORE INDEX (key3) WHERE key1=1 AND key2=2 AND key3=3; 
  21. c. WHERE 子句 
  22.     -- 从from获得的数据源中进行筛选。 
  23.     -- 整型1表示真,0表示假。 
  24.     -- 表达式由运算符和运算数组成。 
  25.         -- 运算数:变量(字段)、值、函数返回值 
  26.         -- 运算符: 
  27.             =, <=>, <>, !=, <=, <, >=, >, !, &&, ||, 
  28.             in (not) null, (not) like, (not) in, (not) between and, is (not), and, or, not, xor 
  29.             is/is not 加上ture/false/unknown,检验某个值的真假 
  30.             <=>与<>功能相同,<=>可用于null比较 
  31. d. GROUP BY 子句, 分组子句 
  32.     GROUP BY 字段/别名 [排序方式] 
  33.     分组后会进行排序。升序:ASC,降序:DESC 
  34.     以下[合计函数]需配合 GROUP BY 使用: 
  35.     count 返回不同的非NULL值数目  count(*)、count(字段) 
  36.     sum 求和 
  37.     max 求最大值 
  38.     min 求最小值 
  39.     avg 求平均值 
  40.     group_concat 返回带有来自一个组的连接的非NULL值的字符串结果。组内字符串连接。 
  41. e. HAVING 子句,条件子句 
  42.     与 where 功能、用法相同,执行时机不同。 
  43.     where 在开始时执行检测数据,对原数据进行过滤。 
  44.     having 对筛选出的结果再次进行过滤。 
  45.     having 字段必须是查询出来的,where 字段必须是数据表存在的。 
  46.     where 不可以使用字段的别名,having 可以。因为执行WHERE代码时,可能尚未确定列值。 
  47.     where 不可以使用合计函数。一般需用合计函数才会用 having 
  48.     SQL标准要求HAVING必须引用GROUP BY子句中的列或用于合计函数中的列。 
  49. f. ORDER BY 子句,排序子句 
  50.     order by 排序字段/别名 排序方式 [,排序字段/别名 排序方式]... 
  51.     升序:ASC,降序:DESC 
  52.     支持多个字段的排序。 
  53. g. LIMIT 子句,限制结果数量子句 
  54.     仅对处理好的结果进行数量限制。将处理好的结果的看作是一个集合,按照记录出现的顺序,索引从0开始。 
  55.     limit 起始位置, 获取条数 
  56.     省略第一个参数,表示从索引0开始。limit 获取条数 
  57. h. DISTINCT, ALL 选项 
  58.     distinct 去除重复记录 
  59.     默认为 all, 全部记录 

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读