目录
3.SQL数据操纵语言
3.1数据的增删改处理
-
插入(insert into)
- AUTO_INCREMENT自增列,形如Excel表格中序号自动填充,不能为其指定任何有效取值(会重置以指定值开始自增),无效值:NULL值,数字0,不显示填充值--------区别NewId()全球唯一标识符
- 除后跟VALUES()之外还可用SET 属性名1='新值'[,属性名2='新值',……]插入数据
- 向表中所有列插入数据(字段顺序和表结构相同),字段名可以省略;插入部分列,必须写相应字段名(列名列表和值列表必须一一对应,数据类型、定义要求对应),字段顺序可以和表结构不同
- 字符型和日期型的值:单引号,数字型:不需要,有单引号:两个单引号 It's me.--It''s me.
- 主键的值不可以为空(NULL)
-
删除(delete truncate)
- delete语句中不能使用group by子句
- truncate释放空间:删除后添加记录,自增字段默认值为1;delete不释放空间:自增字段为删除时最大值+1详解1详解2
3.2简单查询与连接查询
- 多表连接查询时,用于连接多个表的关键字是JOIN,自然连接:NATURAL JOIN 相同属性等值连接,自动删除重复项
- 函数:常用函数汇总 select 'c'+'d' 返回0(未使用函数CONCAT()字符串连接,当函数使用类型不对返回?)
- 模糊查询:查询词中含有特殊含义字符(下划线,百分号等),需要加escape'任意字符'转义escape详解
- WHERE子句 使用正则表达式的关键字:REGEXP
- 笛卡尔积 表连接要避免“笛卡尔积现象”
3.3嵌套子查询
- SQL语言一次查询的结果是一个记录集(结果集)
- 正则表达式 REGEXP
3.4排序、计算及分组
- MySQL逻辑运算符 : NOT或!,AND或&& ,OR或|| ,XOR
- ORDER BY子句 “排序” GROUP BY “分组”
- GROUP BY 要使用 WHERE ,WHERE要写在GROUP BY 之前,之后用HAVING
3.5常用的函数应用
- SUBSTRING(str,num,len) 字符串截取,num起始值为1
- SQRT() 计算平方根
- COUNT(*)和COUNT(1)比较 COUNT(列名)不取NULL,*和1 取NULL