发表于: 2017-11-06 22:53:04
1 850
今天完成的事情:
今天原计划是在MySQL基础完成之后进行JDBC的学习,但是无奈今天对于MySQL的学习一直到晚上22:00才完毕, 还要加上写日报和笔记,只有将JDBC推到明天.
今天整体的内容就是围绕着增删改查中的查,也就是SELECT语句的各种使用方法进行学习,学习时间没有上任务, 我就不贴我具体的学习流程了, 主要贴一下重要的知识点以及我个人的理解.
①select 语句中什么时候不能使用别名?
在加上了where条件限定之后不能在select的时候给column_name 取别名,因为where 语句会在select 之前执行,通过查阅资料得到了这么一个顺序:
from
on
添加外部行,连接类型为 outer join(今天关于join关键字的内容只有内连接和自连接;左连接,右连接,外连接没有提到,这里还不是很清楚,)
where
group by
having(group by 和 having 在我今天学习的资料中还没有提到,打算之后需要的时候再学)
select
distinct
order by (order by 能使用select 的别名就是因为它的执行顺序在select 之后)
limit
②LIKE运算符
使用LIKE运算符执行通配查询,查询条件可包含文字字符或数字:
%通配符:可表示零或多个任意字符。
_通配符:可表示一个任意字符。
这里我个人认为算是重点,因为毕竟和java的正则有类似功能,但是写法不同
select * from table_name where column_name like '%A%'
select * from table_name where column_name like 'AA__'
③分页查询
这里主要记录一下公式:
查看每页n行,第m页的内容:
select * from table_name limit (m-1)*n,n
④外键约束
主键约束(PRIMARY KEY): 约束在当前表中,指定列的值非空且唯一.
外键约束(FOREIGN KEY): A表中的外键列的值必须参照于B表中的主键列的值,外键列允许为NULL.
注意:在MySQL中,InnoDB支持事务和外键.
修改表的存储引擎为InnDB:
ALTER TABLE 表名 ENGINE='InnoDB';
--------------------------------
主表和从表关系
主表可以单独存在,就是被参考的表
从表是表中的数据参照与主表中的数据
删除表时:
先删除从表再删除主表
其中主表中的一条数据,在从表中有多条数据与之对应(一对多的关系)
-------------------------------
约定优于配置:约定好规则可以少些很多代码
表名: t_表名 t_student t_class
主键: id
外键: 参照表(缩写)_主键名 t_class_id -> class_id dept_id
开发中为了提高性能,往往不要外键,但是依然使用InnoDB存储引擎
明天计划的事情:明天上午把MySQL剩下的多表查询的几个方式学习了.下午正式进入JDBC的学习,
收获:今天将查表了解的更深入了一步.
评论