Java面向数据库编程——高级查询(一)

修改表

修改表名:

语法:

ALTER TABLE<旧表名> RENAME【TO】<新表名>;

其中,TO为可选参数,使用与否不影响结果。仅修改表名,表结构不变。

添加字段

语法:

ALTER  TABLE 表名 ADD 字段名 数据类型【属性】;

修改字段

语法:

ALTER TABLE  表名 CHANGE 原字段名 新字段名 数据类型【属性】;

删除字段

语法:

ALTER TABLE 表名 DROP 字段名;

添加主外键

添加主键约束

语法:

ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY  KEY 表名(主键字段);

添加外键约束

语法:

ALTER TABLE 表名 ADD CONSTRAINT 外键名 PRIMARY  KEY 表名(外键字段)REFERENCES;

DML语句回顾

插入数据记录

语法:

INSERT INTO 表名 [(字段名列表)] VALUES(值列表);

  • 表的字段名是可选的,如果省略,则依次插入所有字段。
  • 多个列表和多个值之间使用逗号分隔。
  • 值列表必须和字段名列数量相同,且数据类型相符。
  • 如果插入的是表中部分数据,字段名列表必须填写。

插入多行数据

语法:

INSERT INTO 表名 [(字段名列表)] VALUES(值列表1),(值列表2)......(值列表n);

将查询结果插入到新表

语法1:

INSERT INTO 新表 (字段1,字段2,......)

SELECT 字段1,字段2,......

FROM 原表;

语法2:

SELECT 字段1,字段2,......

INTO 新表;

FROM 原表;

CREATE TABLE 新表(SELECT 字段1,字段2,.......FROM 原表);

其中,

语法1:需要先按照所插入字段的类型,顺序,个数创建新表

语法2:随插入语句的执行而创建新表,无须先建表。(MySQL中不支持可用第二种方法)

更新数据记录

语法:

UPDATE 表名 SET 字段1 = 值1,字段2 = 值2 ,.......,字段n = 值n【WHERE 条件】;

删除数据记录

语法:

DELETE FROM 表名 【WHERE 条件】;

TRUNCATE TABLE 表名;(删除表中所有记录)

数据查询

DQL语句回顾

语法:

SELECT  <字段名列表>
FROM     <表名或视图>
[WHERE <查询条件>]
[GROUP BY <分组的字段名>]
[HAVING <条件>]
[ORDER BY<排序的字段名>[ASC或DESC]]

LIMIT子句

语法:

SELECT  <字段名列表>
FROM     <表名或视图>
[WHERE <查询条件>]
[GROUP BY <分组的字段名>]
[ORDER BY<排序的字段名>[ASC或DESC]]

[LIMIT [位置偏移量,] 行数]

其中

  1. 位置偏移量指从结果集中第几条数据开始显示(第一条记录位置为0),此参数可选,当省略是从一条记录开始显示。
  2. 行数指显示的记录条数。

常用函数

聚合函数(常用于GROUP BY从句的SELECT查询中)
AVG(col)返回指定列的平均值
COUNT(col)返回指定列中非NULL值的个数
MIN(col)返回指定列的最小值
MAX(col)返回指定列的最大值
SUM(col)返回指定列的所有值之和
GROUP_CONCAT(col) 返回由属于一组的列值连接组合而成的结果

字符串函数

时间日期函数

MySQL数学函数
函数    作用
abs(x)    求绝对值
PI()    返回圆周率
sqrt(x)    x的平方根
mod(x,y)    x除以y的余数
ceil()、ceiling()    返回大于或者等于x的最小整数
floor(x)    返回小于或者等于x的最小整数
rand() rand(x)    返回0~1的随机数,x相同时返回值相同
round(x) round(x,y)    返回整数,四舍五入。返回x保留到小数点后y位的值
truncate(x,y)    截断返回x保留到小数点后y位的值(不四舍五入)
sign(x)    返回x的符号,负数、0、正数分别返回-1、0、1
pow(x,y) power(x,y)    返回x的y次方
exp(x)    返回e的x次方
log(x)    返回x的自然对数
log10(x)    返回以10为底的对数
radians(x)    将角度转换为弧度
degrees()x0    将弧度转换为角度
sin(x)    正弦函数,返回正弦值,x是弧度
asin(x)    反正弦函数,返回反正弦值,x是弧度
cos(x)

余弦函数,返回余弦值,x是弧度
acos(x)    反余弦函数,返回反余弦值,x是弧度
tan(x)    正切函数,返回正切值,x是弧度
atan(x) atan2(x)    反正切函数,返回反正切值,x是弧度
cot(x)    余切函数,返回余切值,tan(x)的倒数

子查询

简单子查询

语法:

SELECT ....... FROM 表1 WHERE 字段1 比较运算符(子查询);

在SELECT语句中为表命名别名(alias)的方法

使用AS关键字,符合 ANSI标准。

SELECT 字段列表 FROM 表名 AS 表的别名;

使用空格,简便的方法

SELECT 字段列表 FROM 表名  表的别名;

表连接——合并多个数据表中的字段

子查询——将一个查询嵌套在另一个查询中。

IN 和NOT IN 子查询

使用IN关键字可以使用父查询匹配子查询返回的多个单子段值。

IN子查询后面可跟随返回多条记录的子查询,用于检测某字段的值是否存在于某个范围中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【完整课程列表】 https://download.csdn.net/download/qq_27595745/55555830 完整版精品java课件 Java基础入门教程 Java程序设计 第1章 Java语言概述(共38页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第2章 java语言基础(共31页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第3章 控制结构(共23页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第4章 类和对象(共57页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第5章 继承和接口(共47页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第6章 数组和集合(共44页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第7章 字符串处理(共38页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第8章 异常处理(共27页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第9章 输入输出流(共49页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第10章 JDBC数据库编程(共21页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第11章 图形用户界面1(共27页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第11章 图形用户界面2(共31页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第12章 applet(共16页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第13章 多线程(共24页).ppt 完整版精品java课件 Java基础入门教程 Java程序设计 第14章 socket网络编程(共24页).ppt

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值