文档章节

sql语句

zuodev
 zuodev
发布于 2016/04/20 21:29
字数 1183
阅读 7
收藏 0
点赞 1
评论 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
静安
高级程序员
oracle 开发中动态SQL的使用方法

oracle 开发中动态SQL的使用方法 一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及...

陆朋
2013/07/24
0
0
学习动态性能表 第四篇-(1)-V$SQLTEXT

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

jimbuster
2008/03/30
0
0
SQL Server里简单参数化的痛苦

一般来说,如果你处理所谓的安全执行计划(Safe Execution Plan),SQL Server自动参数化你的SQL语句:不管提供的参数值,查询总必须通向一样的执行计划。如果你的执行计划里有书签查找,这就...

范大脚脚
2017/11/14
0
0
Oracle执行SQL查询语句的步骤

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

LiJIaming
2012/05/13
0
0
oracle sql monitor

动态性能视图V$SQLMONITOR,该视图用以显示Oracle监视的SQL语句信息。V$SQLMONITOR、v$sqlplanmonitor中的信息将被实时刷新,频率为每秒1次。SQL语句执行完成后,监视信息将不会被立即删除,...

lych528
07/11
0
0
从JDBC到Mybatis

从JDBC到Mybatis JDBC操作数据库过程 加载JDBC驱动 建立并获取数据库连接 创建JDBC Statements对象 设置SQL语句的传入参数 执行SQL语句并获取查询结果 对查询结果进行转换处理并将处理结果返...

wjk_snail
2016/06/21
10
0
数据库编程

数据库编程 嵌入式 SQL 嵌入式 SQL 的处理过程 将 SQL 语句嵌入到程序设计语言中 , 如 C,C++,Java 为了能区分 SQL 语句与主语言语句,所有 SQL 语句都必须加前缀 EXEC SQL, 以(;)结束成为...

iOS_愛OS
2017/11/27
0
0
SQL 语句拦截--P6SPY

P6Spy是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。 通过P6Spy我们可以对SQL语句进行拦截,相当于一个SQL语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。 ...

匿名
2008/09/18
14.8K
1
Oracle Prc C学习 之 Oracle动态SQL

在这里我先说遇到的一个问题 在练习的例子中加入了头文件 #include <oraca.h> 然后我怎么编译都不行,一直说找不到oraca.h 然后我把这个改成了 EXEC SQL INCLUDE oraca; 这样就顺利的编译过去...

卜星星
2015/03/11
0
0
PL/SQL基础语法

前言 享受自由。 PL /SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理...

huster_zdf
01/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

崛起于Springboot2.X之前端模版freemaker(23)

1、配置文件 spring: freemarker: allow-request-override: false cache: true check-template-location: true charset: UTF-8 content-type: text/html ......

木九天
17分钟前
1
0
spring-boot:run启动时,指定spring.profiles.active

Maven启动指定Profile通过-P,如mvn spring-boot:run -Ptest,但这是Maven的Profile。 如果要指定spring-boot的spring.profiles.active,则必须使用mvn spring-boot:run -Drun.profiles=test......

夜黑人模糊灬
19分钟前
0
0
大数据分析挖掘技术学习:Python文本分类

引言 文本分类作为自然语言处理任务之一,被广泛应用于解决各种商业领域的问题。文本分类的目的是将 文本/文档 自动地归类为一种或多种预定义的类别。常见的文本分类应用如下: • 理解社交媒...

加米谷大数据
24分钟前
0
0
istio-0.8 指标监控,prometheus,grafana

配置: https://istio.io/docs/tasks/telemetry/metrics-logs/ https://istio.io/docs/tasks/telemetry/tcp-metrics/ envoy拦截请求>上报mixer>对接prometheus>grafana 效果截图: promethe......

xiaomin0322
25分钟前
0
0
公众号推荐

阿里技术 书籍:《不止代码》

courtzjl
28分钟前
0
0
关于改进工作效率

1.给不同的业务线建立需求群,所有的数据需求都在群里面提。 2.对于特别难搞定的事情,到对应的技术哪去做,有问题随时沟通。 3.定期给工作总结形成方法论。 4.学习新的技术,尝试用新的方法...

Avner
35分钟前
0
0
关于thinkphp 框架开启路径重写,无法获取Authorization Header

今天遇到在thinkphp框架中获取不到header头里边的 Authorization ,后来在.htaccess里面加多一项解决,记录下: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews Rewrite......

殘留回憶
39分钟前
0
0
centos 使用yum安装nginx后如何添加模块 10

centos 使用yum安装nginx后如何添加模块 10 centos6.2版本,使用yum来安装了nginx,但是最近需要重新添加模块,所以就傻了,询问下有人知道怎么重新添加模块吗? PS:俺是新手,需要高手救助...

linjin200
42分钟前
1
0
dubbo 资料

dubbo资料网站: https://www.cnblogs.com/a8457013/p/7818925.html

zaolonglei
42分钟前
0
0
大型网站,你是如何架构的?

大型网站,你是如何架构的?

微小宝
45分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部