mysql基本操作语句

1 数据库的基本操作
create database doem default charset utf8; -- 创建数据库 字符编码 utf8

show database; -- 查询数据库

show create database doem; -- 查询某个数据库的结构

use doem; -- 选择使用doem数据库

drop database doem; -- 删除doem数据库

2 表的操作
show tables; -- 显示所在操作数据库中的表

drop table tb_doem -- 删除表

create table tb_doem( -- 创建表

  did int primary key auto_increment,-- auto_increment 自动增长

  dname varchar(20)
);

show create table tb_doem; -- 显示构造表语句

desc tb_doem;   -- 显示表结构

alter table tb_doem add phone varchar(20) not null; -- 给表添加一个字段phone

alter table tb_doem drop phone; -- 删除字段phone

alter table tb_doem modify phone int; -- 修改字段phone类型

alter table tb_doem change phone dianhua int; -- 修改字段名及字段类型

drop table tb_doem; -- 删除表

3 操作数据语句

insert into tb_doem(dname) values('b'); -- 插入数据

update tb_doem set dname='b' where did=1; -- 修改数据

delete from tb_doem where did=1; -- 删除数据

select * from tb_doem; -- 查询所有字段数据

select distinct bname from tb_doem where dname='b' -- 去重复bname的数据;

逻辑条件: and or

比较条件:< , <=, >, >=, <>, between value1 and value2

判断空:判断null: is null 判断空字符串: ="" / <>""

模糊条件:like %:替换任意长度字符 _:替换单个字符

分页查询,limit 起始行,查询行数

原文:https://www.cnblogs.com/ahang/p/5644535.html

代码示例:
语句1:select * from student limit 9,4
语句2:slect * from student limit 4 offset 9
// 语句1和2均返回表student的第10、11、12、13行 ,第一个参数表示从该参数的下一条数据开始,第二个参数表示每次返回的数据条数。
//语句2中的4表示返回4行,9表示从表的第十行开始

例2,通过limit和offset 或只通过limit可以实现分页功能。
假设 pageSize表示每页要显示的条数,pageNumber表示页码,那么 返回第pageNumber页,每页条数为pageSize的sql语句:

代码示例:
语句3:select * from studnet limit (pageNumber-1)*pageSize,pageSize
语句4:select * from student limit pageSize offset (pageNumber-1)*pageSize

在java中计算pageSize和offset

   //每页显示的条数,做为接口参数传入  int pageSize = 10;    //总的条数,从数据库中查询  int totalCount;  //总页数double tp= count / (double)pageSize;int totalPage = (int) Math.ceil(tp);int offset = (page-1) * pageSize;

排序:order by 字段 asc/desc asc:升序 desc:降序

分组:group by 字段

外键:foreign key(rid) references tb_role(rid)

原文出处:https://www.cnblogs.com/wlzjdm/p/6953398.html

1 日期类型

MySql中关于日期的类型有Date/Datetime/Timestamp三种类型。

日期赋值时,允许“不严格”语法:任何标点符都可以用做日期部分或时间部分之间的间割符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等价的,对于不合法的将会转换为:0000-00-00 00:00:00

1.1 Date格式

此类型的字段,存储数据格式为:YYYY-MM-DD,它支持的范围为'1000-01-01'到'9999-12-31',并且允许使用字符串或数字为此列复制。

例如,日期格式的字段crt_date,通过字符串和数字复制后的结果如下:

update sys_tables set crt_date = 12331212 where table_name = 'sys_dict';
update sys_tables set crt_date = '1233-12-12' where table_name = 'sys_dict_item';

1.2 Datetime格式

日期和时间的组合,存储格式为:YYYY-MM-DD HH:MM:SS,它支持的范围为'1000-01-01 00:00:00'到'9999-12-31 23:59:59',并且允许使用字符串或数字进行分配值。

例如:

update sys_tables set crt_date = 12331212121212 where table_name = 'sys_dict';
update sys_tables set crt_date = '1233-12-12 12:12:12' where table_name = 'sys_dict_item';

1.3 TimeStamp格式

这是时间戳,从1970-01-01 00:00:00到当前的时间差值(注意:当你在Java中输出[new Date(0)] 的时候,输出的是:Thu Jan 01 08:00:00 CST 1970,这是因为时区的概念,中国是东八区,所以对应的是早上八点),它精确到毫秒级别,范围为:1970-01-01 00:00:00 到 2037年(参考2038年问题),当值大于2037年就会抛出: [Error Code: 1292, SQL State: 22001]  Data truncation: Incorrect datetime value: '20381212121212' for column 'crt_date' at row 1。设置值时只允许设置数字类型的值。

在为TimeStamp类型字段赋值的时候,值必须大于19700101000000,否则就会抛出: [Error Code: 1292, SQL State: 22001]  Data truncation: Incorrect datetime value: '10831212121212' for column 'crt_date' at row 1。

例如:

update sys_tables set crt_date = 20081212121212 where table_name = 'sys_dict';

2 时间类型

MySQL中时间类型用Time表示。

2.1 Time格式

MySQL以'HH:MM:SS'格式检索和显示TIME值(或对于大的小时值采用'HHH:MM:SS'格式)。TIME值的范围可以从'-838:59:59'到'838:59:59'。小时部分会因此大的原因是TIME类型不仅可以用于表示一天的时间(必须小于24小时),还可能为某个事件过去的时间或两个事件之间的时间间隔(可以大于24小时,或者甚至为负)。

格式说明:

  • 'D HH:MM:SS.fraction'格式的字符串。还可以使用下面任何一种“非严格”语法:'HH:MM:SS.fraction'、'HH:MM:SS'、'HH:MM'、'D HH:MM:SS'、'D HH:MM'、'D HH'或'SS'。这里D表示日,可以取0到34之间的值。请注意MySQL还不保存分数。
  • 'HHMMSS'格式的没有间割符的字符串,假定是有意义的时间。例如,'101112'被理解为'10:11:12',但'109712'是不合法的(它有一个没有意义的分钟部分),将变为'00:00:00'。
  • HHMMSS格式的数值,假定是有意义的时间。例如,101112被理解为'10:11:12'。下面格式也可以理解:SS、MMSS、HHMMSS、HHMMSS.fraction。请注意MySQL还不保存分数。
  • 函数返回的结果,其值适合TIME上下文,例如CURRENT_TIME。
  • 超出TIME范围但合法的值被裁为范围最接近的端点。例如,'-850:00:00'和'850:00:00'被转换为'-838:59:59'和'838:59:59'。

3 年类型

MySQL中用year表示年类型

MySQL以YYYY格式检索和显示YEAR值。范围是1901到2155。

可以指定各种格式的YEAR值:

  • 四位字符串,范围为'1901'到'2155'。
  • 四位数字,范围为1901到2155。
  • 两位字符串,范围为'00'到'99'。'00'到'69'和'70'到'99'范围的值被转换为2000到2069和1970到1999范围的YEAR值。
  • 两位整数,范围为1到99。1到69和70到99范围的值被转换为2001到2069和1970到1999范围的YEAR值。请注意两位整数范围与两位字符串范围稍有不同,因为你不能直接将零指定为数字并将它解释为2000。你必须将它指定为一个字符串'0'或'00'或它被解释为0000。
  • 函数返回的结果,其值适合YEAR上下文,例如NOW()。
  • 非法YEAR值被转换为0000。

4 日期兼容性问题

  1. MySQL服务器采用了Unix的时间功能,对于TIMESTAMP值,可处理的日期至2037年。对于DATE和DATETIME值,可接受的日期可至9999年。
  2. 所有的MySQL日期函数均是在1个源文件sql/time.cc中实现的,并经过了恰当编码以确保2000年安全。
  3. 在MySQL 3.22和以后的版本中,YEAR列类型能够在1个字节内保存0年以及1901~2155年,并能使用两位或四位数字显示它们。所有的两位数字年份均被视为介于1970~2069年之间,这意味着,如果你在YEAR列中保存了01,MySQL服务器会将其当作2001年。

转载于:https://www.cnblogs.com/TuiTuiTuiTui/p/10843078.html

Mysql基本语句(个人笔记)相关推荐

  1. django mysql sql语句_Django笔记:连接数据库并执行SQL语句

    Django中安装好数据库和对应的数据库驱动之后,就可以直接执行SQL语句进行数据库和表的创建,以及数据的增删改查等操作,在Python3中,可以使用的数据库和驱动有多种,我这里使用的是MySQL数据 ...

  2. mysql等价语句是_Mysql基本语句(个人笔记)

    mysql基本操作语句 1 数据库的基本操作 create database doem default charset utf8; -- 创建数据库 字符编码 utf8 show database; ...

  3. B站《一天学会 MySQL 数据库》学习笔记

    B站<一天学会 MySQL 数据库>学习笔记 老司机带我飞 职场十字诀:思考.计划.行动.总结.反思 ​关注他 4 人赞同了该文章 登录和退出MySQL服务器 # 登录MySQL $ my ...

  4. 三、MySQL子查询学习笔记(标量子查询、列子查询、行子查询、表子查询 详解)

    三.MySQL子查询学习笔记 7:子查询 含义: 一条查询语句中又嵌套了另一条完整的select语句,其中被嵌套的select语句,称为子查询或内查询:在外面的查询语句,称为主查询或外查询 分类: 一 ...

  5. 【内容详细、源码详尽】MySQL极简学习笔记

    碎话 本人整理资料时,发现了之前学习MySQL时做的笔记.笔记内容做的蛮好的,值得分享给大家.所以根据自己的学习能力.精力.空余时间情况,把笔记整理成了四天的学习章节. 每一个DQL.DML.DDL语 ...

  6. MySQL高级-04-授课笔记

    MySQL高级-04-授课笔记 一.MySQL存储引擎 1.MySQL体系结构 体系结构的概念 任何一套系统当中,每个部件都能起到一定的作用! MySQL的体系结构 体系结构详解 客户端连接 支持接口 ...

  7. mysql 游标当前行,MySQL游标的使用笔记大全

    以下的文章主要介绍的是MySQL游标的使用笔记,其可以用在存储过程的SQL语句,其主要类型主要有以下几种,以下就是对其详细介绍,相信如果你掌握了这项技术,会在以后的学习或是工作中带来很大的帮助. 1. ...

  8. mysql root密码忘记2018_MySQL数据库之2018-03-28设置及修改mysql用户密码学习笔记

    本文主要向大家介绍了MySQL数据库之2018-03-28设置及修改mysql用户密码学习笔记 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 退出mysql方法 quit或者e ...

  9. mysql 关闭in自动排序,mysql排序语句_mysql中的in排序 mysql按in中顺序来排序

    摘要 腾兴网为您分享:mysql中的in排序 mysql按in中顺序来排序,易订货,虚拟按键,享家,顺丰小哥等软件知识,以及方正证券小方,音基100,dwg转dwf,酷狗游戏盒,聊天宝客服聊天,kin ...

  10. MySQL 实战45讲--笔记

    文章目录 MySQL 实战45讲-->笔记 开篇词 基础篇(8讲) 01 | 基础架构:一条SQL查询语句是如何执行的? 1.1 SQL 语句在 MySQL 的各个功能模块中的执行过程. 依次看 ...

最新文章

  1. 序列处理工具|Seqkit
  2. 分布式事务之底层原理揭秘
  3. hadoop 卡主_HDFS DisTCP执行卡住了,怎么办?
  4. 计算机中逻辑运算用什么表示逻辑真,计算机逻辑运算和逻辑部.ppt
  5. SolarWinds 供应链攻击中的第四款恶意软件及其它动态
  6. [jQuery] 按比例缩小图片
  7. 思维导图软件列表(mind mapping software list)
  8. PyCharm免费版安装使用
  9. .NET 常用ORM之SubSonic
  10. printf输出格式化
  11. 使用BigDecimal解决double精度的问题
  12. 迅雷边下边看实现过程分析
  13. Google Drive—谷歌云盘大文件下载
  14. 2021-09-06 网安实验-编码解码-凯撒密码,QWERTY键盘编码
  15. Android中startActivities的准确用法
  16. 【软件】Chrome收藏夹本地位置
  17. SpringBoot Banner 图案
  18. Android 开发2048 无法显示gameView、Card
  19. Mysql登录数据库,远程登录命令
  20. 向日葵linux远程很卡,血泪经验分享!一个小东西搞定内网财务主机的远程运维...

热门文章

  1. 拓端tecdat|豆瓣大数据分析告诉你,高评分影视密码
  2. 使用python调用百度ocr的API
  3. UserWarning: Error checking compiler version for cl
  4. Python进行特征提取
  5. CVPR 2018 挑战赛
  6. 【论文笔记】Rich feature hierarchies for accurate object detection and semantic segmentation
  7. python实现将字符串转化为数字(逆序输出)
  8. python找出列表间隐含的关联关系以及重复模式
  9. Servlet(2) 三个域对象
  10. python-图像金字塔