Java内嵌数据库Derby 语法(3)

2023-11-02

主键、唯一键包含索引 
主键包含唯一键、索引、非空 
唯一键包含索引,可空或非空 

数据库需要与执行服务的在同个目录下 

唯一键 
create table app.tyu 
( 
primarykey int primary key, 
com_no int not null unique, 
name varchar(32) default 'jack' 
) 

自动加值 
GENERATED ALWAYS AS IDENTITY 

create table svse 
( 
uid int generated by default as identity, 
Uname varchar(5) , 
Upass varchar(10), 
constraint P_KEY_1 primary key (uid) 
) 
查询所有索引 
select * from sys.sysconglomerates, sys.SYSCONSTRAINTS where sys.SYSCONGLOMERATES.TABLEID = sys.SYSCONGLOMERATES.TABLEID 


创建索引 
create index 索引名 on 表名(字段1, 字段2) 

删除索引 
drop index 索引名 

在创建整数时,若要控制整数的位数,可使用decimal来表示 如int(2)可表示为decimal(2,0) 一般情况下 可以选用smallint、int、bigint 

添加内建用户名和密码(Apache Derby的默认数据库用户名和密码均为APP) 
//首先指定为内建用户名和密码 
call syscs_util.syscs_set_database_property('derby.authentication.provider','builtin'); 
call syscs_util.syscs_set_database_property('derby.connection.requireAuthentication','true'); 
//这里创建一个用户名为jack 密码为123456的访问用户(对应到数据库) 
call syscs_util.syscs_set_database_property('derby.user.jack','123456'); 
//设置全局访问用户为jack 
call syscs_util.syscs_set_database_property('derby.database.fullAccessUsers','jack'); 
//全局默认连接方式为未连接 
call syscs_util.syscs_set_database_property('derby.database.defaultConnectionMode',noAccess'); 
在ij下执行以上语句,执行完毕后,重新使用ij登录时,就需要输入用户名和密码了(切记Derby的数据库服务器需要重启) 

查看当前连接 
show connections; 

查看系统时间 
values current_timestamp;  e.g:2012-07-27 15:59:36.281 

建立网络数据库连接 
C:\Program Files\Sun\JavaDB\bin>networkservercontrol.bat start 

修改网络数据库连接的端口 
C:\Program Files\Sun\JavaDB\bin>networkservercontrol.bat start -p 3607 

修改网络数据库连接的IP与端口 
C:\Program Files\Sun\JavaDB\bin>networkservercontrol.bat start -h 127.0.0.1 -p 3607 

客户端连接服务端的数据库 
connect 'jdbc:derby://127.0.0.1:3607/testDB;create=true;user=jack;password=123456'; 
1,建立数据库连接 名称为testdb (名称不能为user) 
connect 'jdbc:derby:testdb;create=true'; //若无该数据库则创建 

connect 'jdbc:derby:myderby'; //若无该数据库不创建 

Connection refused: connect。 说明连接数据库失败 可能是连接的URL输入有误或无法访问 

2,创建表 名称为usertable 包含id(int)与name(varchar)两个字段 
create table usertable(id int primary key, name varchar(20)); 

3,对该表插入数据 
insert into usertable values(1, 'jack'); 

4,查询该表的数据 
select * from usertable; 

5,删除该表的数据 
delete from usertable where id=1; 

6,修改该表的数据 
update usertable set name='lucy' where id=1; 

7,分页查询表数据 
select * from (select row_number() over() as rownum, usertable.* from usertable) as tmp where rownum>=2 and rownum<=5; //查询第2-第5条记录的所有字段的值 

select * from (select row_number() over() as rownum, usertable.name from usertable) as tmp where rownum>=2 and rownum<=5;  //查询第2-第5条记录的name字段的值 

8,查看该表的索引 
show indexes from usertable; 

9,添加表字段属性 
alter table usertable add age int not null default 0; //添加字段age 该字段属性为int型 非空 默认为0 age前可加或不加column 

10,修改表字段属性 
alter table usertable alter name set data type varchar(60); //修改字段name的字符长度为60 

alter table usertable alter name not null; //修改字段name为非空 (前提是该表的name字段值不能为空) 

alter table usertable alter name default '0'; //修改字段name的默认值 

ALTER TABLE CITIES ADD CONSTRAINT COUNTRY_FK Foreign Key (COUNTRY) REFERENCES COUNTRIES (COUNTRY); 

11,删除表字段属性 
alter table usertable drop age; //删除age表字段 age前可加或不加column 

12,删除该表 
drop table usertable; 

13,查看所有表 
show tables; 

14,查询数据去重 
select distinct name from usertable; 

15,数据降序排列 
select * from usertable order by id desc; 

16,重命名表名 
rename table usertable to usertb; 

17,查看表结构 
describe usertable; 

18,断开数据库连接 
disconnect; 

19,退出ij 
exit; 
其他: 
SHOW SCHEMAS;                -- 列出当前数据库中的所有模式 
SHOW CONNECTIONS;            -- 列出所有连接 
ELAPSEDTIME [ ON | OFF ];    -- 为 ij 设置耗用时间模式 
run 'C:\test\testdb.sql';    通过run命令来执行sql文件 


【Derby的聚合函数】 
AVG、COUNT、MAX、MIN、SUM 

【Derby的数学函数】 
ABS、MOD、SQRT 

【Derby的日期和时间函数】 
... 

【Derby的字符串函数】 
... 
详情参考http://www.ibm.com/developerworks/cn/opensource/os-ad-trifecta6/index.html 

【Derby的数据类型】 
BIGINT 返回给定字符串或数字的 64-bit 整数常量。 
CHAR 返回给定值的固定长度的字符表示,最大长度为 254 个字节,该给定值必须是内置的 Apache Derby 类型之一。 
DATE 返回输入值的日期表示。 
DOUBLE 返回输入数字或字符串的双精度浮点表示。 
INTEGER 返回给定字符串、日期、时间或数字的整数常量。 
SMALLINT 返回给定字符串或数字的小整数常量。 
TIME 返回输入值的时间表示。 
TIMESTAMP 返回输入值的时间戳表示。 
VARCHAR 返回给定日期、时间、时间戳或字符串值的长度可变的字符表示,最大长度为 32,672 个字节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java内嵌数据库Derby 语法(3) 的相关文章

随机推荐

  • Matlab:日期与时间的格式设置

    Matlab 日期与时间的格式设置 在Matlab中 我们经常需要对日期和时间进行格式设置 例如 在数据可视化和分析中 如果我们想要显示日期和时间的格式为 年 月 日 时 分 秒 就需要对其进行设置 下面 我们将介绍如何在Matlab中进行
  • vscode C语言运行程序无法打印输出中文

    用vscode编译c程序时 遇到中文无法打印输出的情况 解决方法 tasks json中将 fexec charset GBK 修改成 fexec charset UTF 8 即可
  • Centos7 安装MySQL5.7

    Centos7 5 安装MySQL5 7 rpm方式 1 首先删除Centos7自带的mariadb数据库 注意 以下指令要使用root用户执行 使用yum命令卸载 yum remove mysql mysql server mysql l
  • 七夕趣味玩法,用 MMGeneration 生成心仪的 TA

    七夕啦 小情侣们又又又又又要正大光明 撒狗粮 了 在这个特别的日子里 还是 单身喵 的你我他 是不是更对未来的 TA 充满了期待呢 来 AI 来帮你找到心仪的另一半 不信 你看 只需要文字描绘出 你心目中未来的 TA 的样子 就能立马生成一
  • AcWing 417. 不高兴的津津

    题目 津津上初中了 妈妈认为津津应该更加用功学习 所以津津除了上学之外 还要参加妈妈为她报名的各科复习班 另外每周妈妈还会送她去学习朗诵 舞蹈和钢琴 但是津津如果一天上课超过八个小时就会不高兴 而且上得越久就会越不高兴 假设津津不会因为其它
  • Metadata操作手册

    Metadata操作手册 1 Metadata基础知识 1 1 专业术语 元数据 1 1 1 公共仓库数据模型 公共数据仓库模型是一种规范标准 限定了数据仓库 商业智能 知识管理 端口 portal 技术之间交换的元数据的格式 Pentah
  • .net Core Api swagger 注释不显示问题

    创建好API之后代码写了注释发现API文档没有注释 解决方法如下 1 勾选项目属性中的生成XML 2 Program cs文件增加如下代码 builder Services AddSwaggerGen c gt c SwaggerDoc v
  • JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释

    jvm区域总体分两类 heap区和非heap区 heap区又分 Eden Space 伊甸园 Survivor Space 幸存者区 Tenured Gen 老年代 养老区 非heap区又分 Code Cache 代码缓存区 Perm Ge
  • 使用apt-get安装Nginx

    Ubuntu 18 04 Nginx 1 14 0 一直想在Linux上安装Nginx 一直没找到契机 很大原因是自己不熟悉 Ubuntu没安装好吧 今天下午学习了Ubuntu安装软件的一些资料 那么 就从Nginx的安装开始吧 apt g
  • 哈希算法插入删除时间复杂度O(1)的疑问

    哈希表的插入和删除平均时间为什么是O 1 末尾的插入和删除是O 1 最坏情况的插入删除是O n 那平均为什么还是O 1 呢 看了几篇文章 隐约有了答案 但还不是很确定 可能这是文字上的一种理解问题 我个人的理解 哈希表是数据 链表的组合 除
  • JavaScript-冻结对象

    文章目录 1 冻结对象 2 冻结判断 3 深冻结和浅冻结 1 冻结对象 Object freeze use strict let initialData a 123 initialData a 234 console log initial
  • 极链科技目标检测获Open Images第一,ECCV 2020挑战赛第二

    近日 极链科技在Google AI推出的2020 Open Images Challenge大规模目标检测竞赛和国际顶会ECCV 2020 VIPriors挑战赛目标检测赛道中分别获得第一名 第二名的佳绩 目标检测算法是计算机视觉任务中的重
  • Echarts 监听鼠标右键或者双击

    1 监听 contextmenu 官方文档 注意切换引用控件所对应版本的文档 ECharts 中的事件和行为 引用官方文档示例代码 基于准备好的dom 初始化ECharts实例 var myChart echarts init docume
  • Midjourney AI绘画工具使用保姆级教程

    系列文章目录 之后补充 文章目录 系列文章目录 写在前面 一 Midjourney是什么 二 使用步骤 1 完成Discord注册 2 打开Midjourney官网 3 开始画图 后记 写在前面 据悉 自3月30日 Midjourney已叫
  • sql语句中使用in、not in 查询时,注意条件范围中的null值处理事项

    emp表中的数据 1 使用in的时候 忽略为null的 不会查询出comm为null的数据 select from emp e where e comm in 300 500 null 2 使用not in的时候 如果 not in后面的选
  • CSS基础学习--26 渐变(Gradients)

    CSS3 渐变 gradients 可以让你在两个或多个指定的颜色之间显示平稳的过渡 以前 你必须使用图像来实现这些效果 但是 通过使用 CSS3 渐变 gradients 你可以减少下载的时间和宽带的使用 此外 渐变效果的元素在放大时看起
  • AcWing 897. 最长公共子序列(线性dp)

    题目链接 点击查看 题目描述 给定两个长度分别为 N 和 M 的字符串 A 和 B 求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少 输入输出格式 输入 第一行包含两个整数 N 和 M 第二行包含一个长度为 N 的字符串 表示字
  • 如何用css实现带√三角形

    简介 最近切页面切到一个类似于京东plus会员的页面 当时刚拿到页面的时候人都有些懵 毕竟我是一个前端小白 这种电商的页面还没有这么做过 参考页面 后来经过一段时间的学习发现css的伪类很强大 下面是实现背景加三角形内含 的代码 selec
  • unity单例模板

    Unity 单例模板类 unity 不继承Mono的单例模板 代码片段 unity 不继承Mono的单例模板 代码片段 public class BaseManager
  • Java内嵌数据库Derby 语法(3)

    主键 唯一键包含索引 主键包含唯一键 索引 非空 唯一键包含索引 可空或非空 数据库需要与执行服务的在同个目录下 唯一键 create table app tyu primarykey int primary key com no int