MySQL学习笔记(二)

MySQL学习笔记(二),第1张

MySQL学习笔记(二)

目录

一、子查询

1、where子句中使用子查询

2、from后使用子查询(常用)

3、select后嵌套子查询

二、union(可以将查询结果集相加)

1、语法

2、查询结果相加

三、limit

1、语法机制

2、执行顺序

3、标准分页sql

四、创建表

1、语句

2、常见数据类型

五、insert语句插入数据

1、语法

2、插入多行数据

六、表的复制

1、语法

2、将表的查询结果插入一张表中

七、修改(更新)数据

1、语法

八、删除数据

1、语法

2、删除大表


一、子查询

定义:select语句中嵌套select语句,被嵌套的select语句称为子查询

子查询出现位置: ​ select​ ...(select).. ​ from ​ ...(select).. ​ where ​ ...(select)..

1、where子句中使用子查询

语法:select 字段 from 表名 where 条件(select 字段 from 表名);

PS:where语句后不能跟分组查询关键字(avgminmax ...)

2、from后使用子查询(常用)

注意:将问题分步处理,将新表与另一张表进行表连接得到所需数据;有时无需看作新表,具体问题具体分析

" " + 字母:表示起别名

3、select后嵌套子查询

语法:select ​ 字段1,字段2(select 字段 from 表名2 where 条件) as 别名(给字段起别名) from ​ 表名1;

二、union(可以将查询结果集相加) 1、语法

 PS:使用union上下两段SQL语句查询的字段数必须一样多

union:既可以将两张有关联的表的查询结果相加,又可以将两张不相关联的表的查询结果相加

2、查询结果相加

方法一:select 字段 from 表名 where 条件1 or 条件2;
方法二:select 字段 from 表名 where 条件(字段 in ('...','...'))
方法三:使用union关键字

三、limit

· limit是mysql中特有的,其他数据库中没有,不通用
· limit用于取结果中的部分数据

1、语法机制

limit startIndex,length ​
startIndex表示起始位置 ​
length表示取几个 ​

语法:select 字段 from 表名 order by 字段 limit 起始位置,取的个数; ​
PS:省略起始位置时,默认从0位置开始取

2、执行顺序

 

3、标准分页sql

每页显示pageSize条记录 ​
第pageNo页:(pageNo - 1) * pageSize,pageSize ​
pageNo:第几页 ​
pageSize:每页几条记录

· 以上DQL部分结束

四、创建表 1、语句

 

2、常见数据类型

int:整数型(java中的int) ​
bigint:长整型(java中的long) ​
float:浮点型(java中的float double) ​
char:定长字符串(java中的String) ​
varchar:可变长字符串(StringBufferStringBuilder) ​
data:日期类型(java中的java.sql.Date类型) ​
BLOB:二进制大对象(存储图片,视频等流媒体信息) ​
CLOB:字符大对象(存储较大文本)

实际开发中,当某个字段中的数据长度不发生改变的时候,采用char;当数据长度不确定的时候,采用varchar

表名在数据库中一般建议以:t_ 或 tbl_ 开始

五、insert语句插入数据 1、语法

insert into 表名(字段名1,字段名2,字段名3,...) values (值1,值2,值3,...)
要求:字段的数量和值的数量相同,并且数据类型要对应相同

· 当一条insert语句执行成功之后,表格中必然会多一条记录,即使多的这条语句中的某些字段是NULL,后期也不能通过insert语句在该NULL位置插入数据,只能使用update语句进行更新

· insert into 表名(...)——表名后的字段可以省略不写

2、插入多行数据

语法:insert into 表名 (字段1,字段2,...) values (第一条数据),(第二条数据),...;

六、表的复制 1、语法

create table 表名 as select * from 被复制的表名;

2、将表的查询结果插入一张表中

insert into 表名 select * from 被查询的表名;

七、修改(更新)数据 1、语法

update 表名 set 字段1 = 值1,字段2 = 值2,... where 条件;

PS:没有条件整张表的数据全部更新;切记逗号不能写成and

八、删除数据 1、语法

delete from 表名 where 条件;

PS:没有条件表示删除全部数据

2、删除大表

由于delete删除不会释放物理存储空间,所以在删除大表时速度特别慢;删除大表时一般采用truncate(截断) 语法:truncate table 表名;

使用时必须问清楚数据是否还有作用

· 修改表结构直接使用软件即可

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5717187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存