| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 学习MySQL-第六章 -> 正文阅读 |
|
[大数据]学习MySQL-第六章 |
目录 25.1 limit是将查询结果集的一部分取出来,通常使用在分页查询当中 27.1建表的语法格式(建表属于DDL语句,DDL包括:create drop alter) 25,limit(非常重要)25.1 limit是将查询结果集的一部分取出来,通常使用在分页查询当中分页的作用是为了提高用户的体验,因为一次全部都查出来,用户体验差,可以一页一 页翻页看 25.2limit怎么用呢?例:按照薪资降序,取出排在前五名的员工?
?完整用法:limit startIndex,length startIndex是起始下标,length是长度 注意起始下标从0开始 缺省用法:limit 5;这是取前五,默认从头开始 25.3注意注意: mysql当中limit在order by之后执行!!! 25.4取出工资排名在3-5名的员工?
2表示起始位置从下表2开始,就是第三条记录 3表示长度 25.5取出工资排名在5-9名的员工
25.6分页每页显示3条记录 第一页:limit 0,3 第二页:limit 3,3 第三页:limit 6,3 第四页:limit 9,3 每页显示pagesize条记录 第pagesize页:limit (pageNo-1)*pagesize,pagesize
记公式: limit (pageNo-1)*pagesize,pagesize 26,关于DQL语句的总结:
执行顺序: 1,from 2,where 3,group by 4,having 5,select 6,order by 7,limit 27,表的创建(建表)27.1建表的语法格式(建表属于DDL语句,DDL包括:create drop alter)
表名:建议以t_或者tbl_开始,可读性强,见名知意 字段名:见名知意 表名和字段名都属于标识符 27.2关于mysql中的数据类型?很多数据类型,我们只需要掌握一些常见的数据类型即可 varchar(最长255)????????可变长度的字符串 ????????比较智能,节省空间 ????????会根据实际的数据长度动态分配空间 ????????优点:节省空间 ????????缺点:需要动态分配空间,速度慢 char(最长255)????????定长字符串 ????????不管实际的数据长度是多少 ????????分配固定长度的空间去存储数据 ????????使用不恰当的时候,可能会导致空间的浪费 ????????优点:不需要动态分配空间,速度快 ????????缺点:使用不当可能会导致空间的浪费 varchar和char我们应该怎么选择?????????性别字段选什么?因为性别是固定长度的字符串,所以选择char ????????姓名长度选什么?每一个人的名字长度不一样,所以选择varchar int(最长11)????????数字中的整数型,等同于java中int bigint????????数字中的长整型。等同于java中的long float????????单精度浮点型数据 double????????双精度浮点型数据 date????????短日期 datetime????????长日期 clob????????字符大对象 ????????最多可以存储4g的字符串 ????????比如:存储一篇文章,存储一个说明 ????????超过255个字符的都要采用clob字符大对象来存储 ????????Character large object:clob blob????????二进制大对象 ????????Binary large object:blob ????????专门用来存储图片,声音,视频等流媒体数据 ????????往blob类型的字段上插入数据的时候,例如插入一个图片,视频等 ????????需要使用io流才行 27.3创建一个学生表学号,姓名,年龄,性别,邮箱地址
括号里面的数字是推荐长度,实际长度超了也没关系,不会报错,只是一个建议长度 27.4删除表
? ?还有一种写法,建议用下面这个写法
27.5插入数据insert(DML语句)上面我们把t_student表删除了,我们再创建回来 语法格式: ????????insert into 表名(字段名1,字段名2,字段名3...) values(值1,值2,值3); 注意:字段名和值要一一对应,什么是一一对应,数量要对应,数据类型要对应
?可以看到已经插入到表中了 //如果字段名是颠倒的也可以插入,不过值也要与之对应
?上面语句也插入成功了 //只给一个字段赋值也是可以的,没赋值的则默认是null
注意:insert语句但凡执行成功了,那么必然会多一条记录 没有给其他字段指定值的话,默认值是NULL 需要注意的是创建表的时候可以对字段名指定默认值 我们先删除这个t_student表
然后再创建这个表,并且给sex指定默认值
这样我们就给sex指定了m的默认值 ?之后我们插入记录时,如果不设置sex,则默认就是m
?inset语句中的”字段名”可以省略吗?可以 需要注意的是,前面的字段名省略的话,等于都写上了,所以值也要都写上
上面这样写是可以插入的 ?不过还是建议把字段名写出来,可读性强一点 27.6 insert插入日期在第三章提到了str_to_date和date_format这两个处理函数 str_to_date:将字符串varchar类型转换成date类型 date_to_format:将date类型转换成具有一定格式的varchar字符串类型 注意:数据库中的有一条命名规范:所有的标识符都是全部小写,单词和单词之间使用下划线进行衔接 这两个函数有什么用呢? 我们把上面的t_student表删除,创建一个带有date类型的表
我们上面添加了一个date类型的字段,下面演示一下怎么插入日期
出问题了:原因是类型不匹配,数据库birth是date类型,这里给了一个字符串varchar 怎么办?可以用str_to_date函数进行类型转换 str_to_date函数可以将字符串转换成日期类型date 语法格式: str_to_date(‘字符串日期’,’日期格式’) mysql的日期格式:
所以修改一下上面的语句
?str_to_date函数可以将字符串varchar转换成日期date类型数据 通常使用在插入insert方面,因为插入的时候需要一个日期类型的数据 需要通过该函数将字符串转换成date 注意: 如果提供的日期字符串是这个格式(%Y-%m-%d),str_to_date函数就不需要 了! 下面演示一下
?可以发现插入成功了 查询的时候可以以某个特定的日期格式展示吗? date_format 这个函数可以将日期类型转换成特定格式的字符串
date_format函数怎么用? date_form(日期类型数据,’日期格式’) 这个函数通常使用在查询日期方面,设置展示的日期格式
以上的sql语句实际上是进行了默认的日期格式化 自动将数据库中的date类型转换成varchar类型 并且采用的格式是mysql默认的日期格式:’%Y-%m-%d’ 实际上str_to_date和date_format是不怎么用的,比如str_to_date,我们按照199 0-10-01的格式去插入日期的话系统会自动转换成date类型的。我们在查询字段时 系统会自动进行类型转换,转换成字符串类型,所以也用不到date_format 27.7date和datetime两个类型的区别date是短日期:只包括年月日信息 datetime是长日期:包括年月日时分秒信息
id是整数 name是字符串 birth是短日期 create_time是这条记录的创建时间:长日期类型 mysql短日期默认格式:%Y-%m-%d mysql长日期默认格式:%Y-%m-%d %h:%i:%s 怎么插入记录呢?
? ?可以看到已经插入成功 在mysql中怎么获得系统当前时间呢? now()函数:获取的时间带有:时分秒信息!是datetime类型的
?插入成功,可以发现已经插入了当前的时间,利用的就是now()函数 27.8修改update(DML)语法格式: update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3... where条件; 注意:没有条件限制会导致所有数据全部更新 例:我们把上面表中的2号lisi的数据改一下
?查询一下就可以发现已经修改成功了 27.9删除数据delete(DML)语法格式: delete from 表名 where 条件 注意:没有条件,整张表的数据会全部删除 例:我们删除上表中的第二条记录,也就是wanger的记录
?查询一下发现已经删除了 怎么删除所有记录:
?查询一下可以发现记录全部都删除了 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 11:06:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |