MYSQL学习第二天---数据类型等
2017-05-29 13:04
281 查看
文本:
CHAR(*):最多255个字节的定长字符串,指定长度,使用时不够长度布空格
VARCHAR(*):最多255个字节的字符串,就像动态数组,可变长度
TEXT:最大长度为64K字符的变长文本
TINYTEXT:最大长度为255字符的变长文本
MEDUIMTEXT:最大长度为16K字符的变长文本
LONGTEXT:最大长度为4GB字符的变长文本
整数:
tinyint:1字节
smallint:2字节
mediumint:3字节
int:4字节
bigint:8字节
小数:
decimal(NUMERIC):精确存储的小数,在内部用字符串存储
dloat:4字节,单精度
double:8字节,双字节
日期时间:
DATE:4字节
TIME:3字节
DATETIME:8字节
二进制大数据:
TITYBLOB:最大长度为255字节
BLOB:最大长度为64KB
MEDIUMBLOB:最大长度为16MB
LONGBLOB:最大长度为4GB
SQL语句入门:
数据更新:
条件数据更新
数据删除:
数据检索:
数据汇总:
数据排序:
通配符过滤
空值处理:
limit:
分组查询(group by )
联合查询(join)
CHAR(*):最多255个字节的定长字符串,指定长度,使用时不够长度布空格
VARCHAR(*):最多255个字节的字符串,就像动态数组,可变长度
TEXT:最大长度为64K字符的变长文本
TINYTEXT:最大长度为255字符的变长文本
MEDUIMTEXT:最大长度为16K字符的变长文本
LONGTEXT:最大长度为4GB字符的变长文本
整数:
tinyint:1字节
smallint:2字节
mediumint:3字节
int:4字节
bigint:8字节
小数:
decimal(NUMERIC):精确存储的小数,在内部用字符串存储
dloat:4字节,单精度
double:8字节,双字节
日期时间:
DATE:4字节
TIME:3字节
DATETIME:8字节
二进制大数据:
TITYBLOB:最大长度为255字节
BLOB:最大长度为64KB
MEDIUMBLOB:最大长度为16MB
LONGBLOB:最大长度为4GB
SQL语句入门:
/* 1.SQL语句中字符串一般用单引号、 2.SQL语句是大小写不敏感的 3.NacCat执行SQL语句的地方“查询”-新建查询-执行 4.查看一个表的全部数据:select * from 表的名字 5.插入数据的SQL语句:INSERT INTO 表的名字(Id,Name,Age,Gender)VALUES(5,'jim',20,1) 6.Insert语句可以省略表名后的列名 7.插入某一列的值不确定时,不指定 8.可以修改字段为:自动递增/自增 9.把“允许为空”的字段修改为“不允许为空”,需要先给就数据默认值, 10.修改列的数据类型要注意旧数据能否兼容转化为新类型,修改数据的长度也是一样 */
数据更新:
/* 更新一个列:UPDATE 表的名字 Set 字段=值 更新多个列:UPDATE 表的名字 Set 字段=值,字段=值 表达式:UPDATE 表的名字 Set 字段=表达式 */
条件数据更新
1.更新一部分数据:UPDATE 表的名字 Set age=30 where Name=‘tom’,用where语句表示只更新name是‘tom’的行,注意SQL中等于判断用单个=,而不是== 2.where中还可以使用复杂的逻辑判断UPDATE 表的名字 Set age=30 where name=‘tom’ or age<25,or 相当于Java中的|| 3.where(age>20 and age<30)or(age=80) 4.where 中可以使用的其他逻辑运算符 or,and,not,<,>,>=,<=,!=,等
数据删除:
1.删除表中全部数据:DELETE FROM 表的名字 2.delete 也可带where子句来删除一部分数据:DELETE FROM 表的名字 WHERE age>20 3.delete 只是删除数据,表还在。删除表:DROP rable 表的名字
数据检索:
1.简单的数据检索:SELECT * FROM 表的名字 2.只检索需要的列:SELECT 列名 FROM 表的名字、SELECT name,age FROM 表的名字 3.列别名:SELECT 列名 AS 别名,name AS 别名 FROM 表的名字 4.计算列:SELECT 列名 from 表的名字,对整个列进行加减操作 5.使用where检索符合条件的数据:SELECT name FROM 表的名字 WHERE salary<5000 6.检索不与任何表关联的数据:select 1+1;select now();
数据汇总:
1.SQL聚合函数:MAX,MIN,AVG,SUM,COUNT 2.SELECT MAX(Salary) FROM 表的名字 WHERE age>25 3.SELECT MIN(Salary),MAX(Salary) FROM 表的名字 4.SELECT COUNT(*) FROM 表的名字 WHERE age>25 5.总和 和 平均:SELECT SUM(salary),AVG(Salary) FROM 表的名字 6.
数据排序:
1.ORDER BY 子句位于SELECT语句的末尾,它允许指定按照一个列或者多个列进行排序,还可以指定排序方式是升序还是降序 2.按照年龄升序排序:SELECT * FROM 表的名字 ORDER BY age ASC 3.按照年龄从大到小排序,如果年龄相同则按照工资从大到小排序:SELECT * FROM 表的名字 ORDER BY age DESC、salary DESC 4.ORDER BY子句要放到WHERE子句之后:SELECT * FROM 表的名字 WHERE age>23 ORDER BY age DESC,salary DESC 5.
通配符过滤
1.通配符过滤使用LIKE 2.单字符匹配的通配符为半角下划线"_",它匹配单个出现的字符,以任意字符开头,剩余部分为“erry”:SELECT * FROM 表的名字 WHERE name LIKE '_erry' 3.多字符匹配的通配符为半角百分号"%",它匹配任意次数出现的任意字符。"K%"匹配以"K"开头,任意长度的字符串。检索姓名中包含"n"的员工信息:SELECT * FROM 表的名字 WHERE name LIKE '%N%' 4.LIKE性能较差,很容易造成全表扫描
空值处理:
1.一个列如果没有指定值,那么值就为null,数据库中null就表示不知道,而不表示没有 2.SELECT * FROM 表的名字 WHERE NAME+null; SELECT * FROM 表的名字 WHERE NAME!=null 3.SQL中使用 is null,is not null来进行空值判断 SELECT * FROM 表的名字 WHERE NAME is null; SELECT * FROM 表的名字 WHERE NAME is not null;
limit:
1.LIMIT关键字用来限制返回的结果集,LIMIT放在SELECT语句的最后位置,语法为"LIMIT 首行行号,要返回的结果集的最大数目"、比如下面的SQL语句将返回name不为空的,按照工资降序排列的从第二行开始(行号从0开始)的最多五条记录 SELECT * FROM 表的名字 where Name is not null ORDER BY Salary DESC LIMIT 2,5 2.limit 一定要放到所有的语句的最后 3.主要起分页作用
分组查询(group by )
1.数据分组用来将数据分为多个逻辑组,从而可以对每个组进行聚合运算,SQL语句中使用"GROUP BY 分组字段"。分组语句一般和聚合函数一起使用,GROUP BY 子句负责将数据分成逻辑组,而聚合函数则对每一个组进行统计计算 2.查看公司员工有哪些年龄段的: select age FROM 表的名字 GROUP BY age 3.将age相同的数据行放到一组,分组后的数据可以看做一个临时的结果集,而SELECT Age语句则取出每组的age字段的值,这样我们就得到上表的员工年龄段表了 4.如果SELECT语句有WHERE子句,则DROUP BY 子句必须放到WHERE语句之后
联合查询(join)
1.使用范围:多个表存在关联 2.如果没有表连接,那么查询每张订单的客户姓名就要先查询订单,在查表,麻烦且效率低 3.SQL中使用JOIN关键字来使用表连接,主要有:交叉连接,内连接,外连接,
相关文章推荐
- MySQL 数据类型学习笔记
- Java学习第二天 —— Java中的基本数据类型和运算符
- mysql数据类型学习笔记
- MySQL学习笔记-数据类型
- mysql学习笔记03 mysql数据类型
- LAMP兄弟连PHP课程学习笔记 第二天 数据类型和变量使用
- MYSQL学习笔记 第三讲:数据类型
- [MySQL学习]MySQL学习之路(二)131029:数据类型和运算符(一)
- MYSQL入门学习之四:MYSQL的数据类型
- mysql 学习之三 数据类型
- 2014年4月1日MySQL学习记录--mysql数据类型及占用空间&&修改表的语法
- MySQL入门很简单-学习笔记 - 第 4 章 MySQL数据类型
- mysql数据类型学习笔记
- MySQL入门很简单-学习笔记 - 第 4 章 MySQL数据类型
- MySQL学习笔记(八)―― MySQL的数据类型(日期型)
- MySQL学习笔记12:数据类型
- 学习java第二天---------------数据类型
- MySQL学习之数据类型选择
- mysql基本数据类型(mysql学习笔记三)
- MySQL 5.6学习笔记(数据类型)