文档章节

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
静安
高级程序员
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

没有更多内容

加载失败,请刷新页面

加载更多

linux运维人员必会运维工具

linux运维人员必会开源运维工具体系 说明:不同的技术人员,不同的阶段确定知识边界非常重要,否则,就像马拉车,不知道终点在哪,累死也达不到目标。例如拿8K要学多少,拿15K要学多少。一个...

寰宇01
4分钟前
1
0
10大PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的 10个开源的Php比特币项目,将有助于你了解在自己的应用中 如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方...

汇智网教程
25分钟前
0
0
springclould feign客户端添加全局参数

用springclould feign作为调用服务的客户端,一般来说参数可以写在feignclient的方法参数里 有时需要所有feign请求都统一添加一些参数,例如token用于鉴权等,可以这样做: 添加一个配置类,...

canneljls
26分钟前
0
0
win32截屏并rgb24转yuv420

//最终f的内存布局为BGRA格式,需要保证buf长度足够(>w*h*4)void ScreenCap(void* buf, int w, int h){ HWND hDesk = GetDesktopWindow(); HDC hScreen = GetDC(hDesk); ......

styleman
今天
1
0
php输出mysql取出的中文为??的问题

解决方法: @ $db=new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_DB); $db->query("set names utf8");//添加此语句,可以解决问题...

Aomo
今天
1
2

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部