SQL學習日記-語法篇 1. 常見的資料庫對象 對象名 關鍵字 描述 表 table 存儲數據的邏輯單元,以行和列存在,行是數據記錄,列是(屬性)欄位 系統表(數據字典) 存放資料庫相關信息的表 程式員只可查看,不可修改 約束 constraint 執行數據校驗和保證數據完整性的規則 視圖 view ...
目录
SQL学习日记-语法篇
1. 常见的数据库对象
对象名 | 关键字 | 描述 |
---|---|---|
表 | table | 存储数据的逻辑单元,以行和列存在,行是数据记录,列是(属性)字段 |
系统表(数据字典) | 存放数据库相关信息的表 程序员只可查看,不可修改 | |
约束 | constraint | 执行数据校验和保证数据完整性的规则 |
视图 | view | 一个或多个数据表(table)的逻辑显示,视图并不存储数据 |
索引 | index | 提高查询性能,相当于书的目录 |
函数 | function | 完成特定的计算,具有一个返回值 |
存储过程 | procedure | 完成一次完整的业务处理 |
触发器 | trigger | 事件监听器,特定事件发生后,完成相应数据处理 |
2. select子句
select [列名|..]
from [表名|..]
where [条件..]
order by [条件..]
limit [数据个数]
--知识点1:
select ( 列名*10 ) + 10 AS '新列名'
//表示检索出某列元素乘10再加10的数据,并以新的列名展示出来
--知识点2:
select distinct 列名
//distinct关键字可以用来合并该列数据的重复项
3. where 子句
/*
--知识点1:
where子句用于设置检索条件
常用比较符
>
>=
<
<=
!= 或 <>
--知识点2:
Mysql中日期的正规写法 '2000-03-14'
--知识点3:
逻辑运算符
AND OR NOT
*/
4. in运算符和 between.. and..运算符
--用例:
where city(属性字段) **IN** ('旧金山','上海','广州')
表示筛选出city属性是旧金山,上海或广州的数据
--用例:
where born(出生日期属性字段) **BETWEEN** '2000-03-14' ***AND*<details>
5. like运算符和 REGEXP运算符
where word(单词属性字段) like 'b_y' OR word like 'g%'
where word单词属性字段) RRGEXP ('b[a-w]y'|'^g')
/*
下划线_表示匹配单个字符
符号 %表示匹配多个字符
上面语句删选的word(单词属性字段)可以是boy,buy,go,girl
使用REGEXP运算符
^表示开头
$表示结尾
| 相当于逻辑上的OR(或)
[zd]表示需要匹配包含z或d任一字符
[a-z]表示需要匹配a-z范围内任一字符
注:REGEXP:regular expression (正则表达式)
*/
6. NULL运算符
NULL表示缺失,即某记录(record)不存在某属性(attribute)的数据
--用例:
where phone(电话属性字段) IS NULL
/*
表示电话信息不存在
*/
7. ORDER BY子句 和 LIMIT子句
--用例:
ORDER BY bitrhday DESC
--按出生日期降序排序
--用例:
LIMIT 30
--展示前30条数据记录
LIMIT 10,3
--跳过前十条记录,展示接下来三条记录