文档章节

sql语句

zuodev
 zuodev
发布于 2016/04/20 21:29
字数 1183
阅读 7
收藏 0

hibernate中的查询语句

查询所有:

sql

List<Customer> allCustomer = session.createSQLQuery("select * from t_customer")

                .addEntity(Customer.class).list();

hql

List<Customer> allCustomer = session.createQuery("from Customer").list();

        //全限定类名,起别名

List<Customer> allCustomer = session.createQuery("select c from Customer c").list();

qbc

List<Customer> allCustomer = session.createCriteria(Customer.class).list();

sql的书写与执行顺序

书写顺序:

select 字段... from 表 where 条件 group by 字段 having 条件 order by 字段;

执行顺序:

from >where >group by  >having > select  >order by

数据库

1、创建数据库:create database heima character set utf8 collate utf8_general_ci

2、查看所有数据库:show databases;

        查看创建语句:show create database asin; 

3、修改数据库的编码格式:alter database asin character set gbk;

4、删除数据库

语法:drop database 数据库名称

示例:drop database asin;

5、进入和切换:use 数据库名称  显示当前:select database();

数据表

1、创建表

语法:create table 表名称(

               字段名称 数据类型 [约束],   -- 注释

               字段名称 数据类型 [约束],   -- 横杆和文字之间有空格

               字段名称 数据类型 [约束],

               ... ...

          );"

主键:id  int  primary  key [auto_increment(主键是int)]

非空约束:not null

示例:name  varchar(20)  not null

唯一性约束:unique

示例:idcard  varchar(18)  unique

默认约束:default  默认值

示例:age  int  default 25

2、查看数据表

查看当前数据库中的所有数据表:show tables;

查看数据表的创建语句:show create table 表名;

查看数据表的结构:desc 表名;

3、删除表

语法:drop table 表名;

示例:drop table user;

4、修改数据表

修改表名称:rename table 旧名称 to 新名称;

修改表的编码:alter table 表名 character set 编码;

示例:alter table info character set gbk;


增加字段:alter table 表名 add 字段名称 类型 [约束]

示例:alter table info add idcard varchar(18) unique;


修改字段:alter table 表名 change 旧字段名称 新字段名称 数据类型 [约束]

示例:alter table info change idcard shenfenzheng varchar(20);


修改字段的类型:alter table 表名 modify 字段名 数据类型;

示例:alter table info modify shenfenzheng int;


删除字段:alter table 表名 drop 字段;

示例:alter table info drop shenfenzheng;

五、对数据的单表操作 增加 删除 修改(DML)

1、插入数据

语法:insert into 表名(字段1,字段2,...字段n)  values(值1,值2,...值n); 

示例:insert into info(id,username,password,gender,age,email,salary,state,role,registTime)

values(1,'zhangsan','123','male',28,'zs@163.com',5000,0,'vip','2015-10-10 10:10:10');

2、修改数据

语法:update 表名 set 字段=值,字段=值...... [where 条件]

示例:update info set salary=10000,age=82 where id=1;

3、删除数据

语法:delete from 表名 [where 条件];

示例:delete from info where username='lisi';

六、数据查询操作 (DQL)

查询student表的第2条到4条记录

mysql> SELECT * FROM student LIMIT 1,3;

从student表中查询计算机系和英语系的学生的信息

mysql> SELECT * FROM student WHERE department IN ('计算机系','英语系');

1、查询全部

select * from info;

select id,username,....registTime from info;

2、查询部分

select username,salary from user;

3、去重查询

select distinct dept from user;

select distinct username,password,salary from user;

4、运算查询

select username,salary+10000 from user;

注意:null参与数学运算时还是null

函数ifnull   

select username,ifnull(salary,0)+10000 from user;

取别名

select username,ifnull(salary,0)+10000 as 薪资 from user;   //其中as可以省略

5、聚合函数

sum(字段名)

查询公司每月用于员工薪资的支出

select sum(salary) from user;

count(字段名)

select count(*) from user;

select count(salary) from user;

max(字段名);

select max(salary) from user;

min(字段名)

select min(salary) from user;

avg(字段名)

select avg(salary) from user;

6、排序查询

order by 字段名称 

select * from user order by salary desc;  默认升序

desc:降序   asc:升序

select * from user order by salary desc,id asc;

7、条件查询

单条件查询

select * from user where salary=8500;

符号:=    >     <     >=     <=    !=     <>

多条件查询

select * from user where salary=8000 and age<20;

select * from user where gender='女' or age<20;

select * from user where gender='女' or age<20 and salary>6000;

范围查询

between...and...

select * from user where salary>7000 and salary <10000;

select * from user where salary between 7000 and 10000;    包括端点

枚举查询 in()

select * from user where salary=8000 or salary=8500;

select * from  user where salary in(8000,8500);

模糊查询  like

select * from user where username like '张%';     //%代表任意个字符

select * from user where username like '张_';      //_代表任意一个字符

is null  is not null

8、分组查询 group by      having

需求:查询每个部分的薪水综合

select dept,sum(salary) from user group by dept;

在上面基础上在筛选 总工资大于10000;

select dept,sum(salary) from user group by dept having sum(salary)>10000;

where与having的区别?

where是对分组前的数据进行筛选  having是对分组后的数据进行筛选的

having可以对别名进行查询

select username,salary as sal from user having sal>5000;

select dept,sum(salary) from user where salary>4500 group by dept having sum(salary)>10000 order by sum(salary) desc;


© 著作权归作者所有

共有 人打赏支持
zuodev
粉丝 0
博文 37
码字总数 18402
作品 0
静安
高级程序员
私信 提问
为什么数据库有时候不能定位阻塞(Blocker)源头的SQL语句

原文:为什么数据库有时候不能定位阻塞(Blocker)源头的SQL语句 在SQL Server数据库或OACLE数据库当中,通常一个会话持有某个资源的锁,而另一个会话在请求这个资源,就会出现阻塞(blockin...

杰克.陈
2018/08/03
0
0
学习动态性能表 第四篇-(1)-V$SQLTEXT

学习动态性能表 第四篇-(1)-V$SQLTEXT   本视图包括Shared pool中SQL语句的完整文本,一条SQL语句可能分成多个块被保存于多个记录内。   注:V$SQLAREA只包括头1000个字符。 V$SQLTEXT中...

jimbuster
2008/03/30
0
0
Oracle执行SQL查询语句的步骤

Oracle执行SQL查询语句的步骤 查询语句和其他语句不同,如果查询语句执行成功,会返回查询结果,而其他类型的SQL语句只是返回执行成功或者失败的信息。 Oracle处理查询语句分为3大阶段:编译...

LiJIaming
2012/05/13
0
0
JDBC之使用Statement,PreparedStatement,ResultSet

创建一个获取Connection对象和关闭资源的工具类   在对数据库进行CRUD(①查询数据、②数据插入、③数据修改、④数据删除)操作的时候,每一个操作都需要获取Connection对象,所以我们就可...

天蚕宝衣
2016/05/26
63
0
linq学习笔记(5):Count/Sum/Min/Max/Avg

Count/Sum/Min/Max/Avg用于统计数据,比如统计一些数据的个数,求和,最小值,最大值,平均数。 1.Count:返回集合中的元素个数,返回INT类型;不延迟。生成SQL语句为:SELECT COUNT(*) FROM ...

长平狐
2013/06/17
96
0

没有更多内容

加载失败,请刷新页面

加载更多

vue 对对象的属性进行修改时,不能渲染页面 vue.$set()

我在vue里的方法里给一个对象添加某个属性时,我console.log出来的是已经更改的object ,但是页面始终没有变化 原因如下: **受现代 JavaScript 的限制 (而且 Object.observe 也已经被废弃),...

Js_Mei
今天
1
0
开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
8
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
5
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部