[size=large][color=blue]最近正在学习javaEE。首先当然是先研究数据库,我学习的是mysql。经过几天的学习总结一下认为值得总结和复习的内容。[/color][/size]
[size=medium][color=red]首先是sql语句[/color][/size]
一些简单的语句这里就不做展示了,这里只展示一些个人认为比较有用和生疏的语句。
[quote]1、用指定编码创建数据库
create database lesson default character set GBK;
2、建立主外键约束关系
alter table bloginfo add constraint user_id foreign key user_id (user_id) references userinfo(id) on update cascade on delete cascade;
3、清空表
truncate bloginfo;
4、事务支持
开启事务 start transaction;
确认事务 commit;
恢复到事务开启前 rollback;
5、别名查询
select u.id ,u.name as '姓名' from userinfo u;
6、分组查询
select count(*) from bloginfo group by user_id;
7、联合查询
select count(b.id),u.id,u.name from bloginfo b,userinfo u where b.user_id=u.id group by u.id;
注意一般在开发项目是避免使用联合查询,一般用外连接查询代替。因为联合查询涉及到笛卡尔集算法效率不高。
8、子查询
select * from bloginfo where bloginfo.user_id in( select id from userinfo where age>20 and age<25);
9、外连接查询
select u.id,u.name,b.content from bloginfo b left join userinfo u on b.user_id=u.id;
项目开发中广泛使用的一种查询方式[/quote]
[size=medium][color=red]首先是sql语句[/color][/size]
一些简单的语句这里就不做展示了,这里只展示一些个人认为比较有用和生疏的语句。
[quote]1、用指定编码创建数据库
create database lesson default character set GBK;
2、建立主外键约束关系
alter table bloginfo add constraint user_id foreign key user_id (user_id) references userinfo(id) on update cascade on delete cascade;
3、清空表
truncate bloginfo;
4、事务支持
开启事务 start transaction;
确认事务 commit;
恢复到事务开启前 rollback;
5、别名查询
select u.id ,u.name as '姓名' from userinfo u;
6、分组查询
select count(*) from bloginfo group by user_id;
7、联合查询
select count(b.id),u.id,u.name from bloginfo b,userinfo u where b.user_id=u.id group by u.id;
注意一般在开发项目是避免使用联合查询,一般用外连接查询代替。因为联合查询涉及到笛卡尔集算法效率不高。
8、子查询
select * from bloginfo where bloginfo.user_id in( select id from userinfo where age>20 and age<25);
9、外连接查询
select u.id,u.name,b.content from bloginfo b left join userinfo u on b.user_id=u.id;
项目开发中广泛使用的一种查询方式[/quote]