【数据库知识】

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

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

唯一键
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 个字节。

 

derby数据库ql语法的更多相关文章

  1. Powerdesigner自定义DBMS(以derby数据库为例)

    Powerdesigner自定义DBMS Powerdesigner以下简称PD.PD默认支持的DBMS不够用时,我们就需要自己定义了.以apache derby数据库为例.1.DBMS的定义文件PD ...

  2. 使用 Java DB (Derby) 数据库

    使用 Java DB (Derby) 数据库 https://netbeans.org/kb/docs/ide/java-db_zh_CN.html 本文档说明了如何在 NetBeans IDE 中设 ...

  3. Derby 数据库 客户端 ij使用

    Derby是开源的.嵌入式的Java数据库程序,ij是Derby提供的客户端工具,相当于其他数据库提供的sqlplus工具. ij是纯Java的程序,不用安装,使用起来就像运行普通的Java应用程序一 ...

  4. Apache Derby数据库 安装、知识点

    Apache Derby数据库 安装: 下载路径:http://archive.apache.org/dist/db/derby/ 出处:http://www.yiibai.com/hive/hive ...

  5. 润乾报表与DERBY数据库的创建连接详解

     1. 问题概述 1.Derby数据库的创建过程 2.润乾报表连接Derby数据库展现数据 概述: Derby是Apache Software Foundation (ASF)的一个的孵化器项目. ...

  6. derby数据库windows自带的客户端

    本示例演示用windows自带的ij来操作derby数据库,包括建库,建表,插入数据,查询数据 首先要配置环境变量: 其次打开cmd输入如下图所示的命令: java代码如下: package com. ...

  7. derby数据库的一些总结

     本文主要是针对在osgi开发过程中的一些问题进行总结,其中dbcp数据源的配置是在SpringDM下配置的.一,derby数据源的内嵌模式       该模式的主要应用是嵌入式程序,因为其小巧,且不 ...

  8. Microsoft SQL Server学习(二)--数据库的语法

    关于数据库的语法 创建数据库 样例 名词概念 编写数据库代码的注意事项 关于文件语法 实例代码 关于数据库的语法: 1.创建数据库 create database 数据库名 on primary (主 ...

  9. JAVA连接Derby数据库

    其实,JAVA连接Derby数据库也很简单,和一般的数据库操作一样:1.加载驱动2.获取连接3.进行数据库操作4.记得关闭连接 示例如下: import java.sql.ResultSet; imp ...

随机推荐

  1. matlab 给某一列乘上一个系数

    矩阵M是一个 mxn 的矩阵,现在要给M矩阵的第一列都要乘上10,使其第一列扩大10倍,那肿么做呢? 我第一时间用的是: M(:,1) = M(:,1)*10; //错误的 但是这个错了,结果是不对的 ...

  2. 从0开始学Java——eclipse下运行servlet程序警告:Setting property 'source' to 'org.eclipse.jst.jee.server:类名' did not find a matching property.

    在使用Eclipse 创建第一个 Servlet之后,并且配置好了tomcat,然后Run on server的之后,提示标题所示错误: 警告: [SetContextPropertiesRule]{ ...

  3. [CareerCup] 5.1 Insert Bits 插入位

    5.1 You are given two 32-bit numbers, N and M, and two bit positions, land j. Write a method to inse ...

  4. Linux(9.28-10.4)学习笔记

    三种数字表示 无符号数: 基于传统的二进制表示法,表示大于或者等于零的数字. 补码(有符号数): 表示有符号数整数的最常见的方式,有符号数就是只可 以为正或者为负的数. 浮点数: 表示实数的科学计数法 ...

  5. IOS开发之——意见反馈UITextView的使用+不能输入字符输入

    @interface DMFeedbackViewController ()<UITextViewDelegate,UIAlertViewDelegate>@property (nonat ...

  6. 【开源】XPShadow, 用阴影让UWP更有层次感

    UWP采用的是纯扁平化的设计,个人感觉极端了点,整个世界都是平的,导致App分不清层次,看不出重点.其实扁平化是趋势,android, ios都在搞,问题是android, ios都可以很轻松的实现阴 ...

  7. php图片水印添加,压缩,剪切的封装类

    php对图片文件的操作主要是利用GD库扩展.当我们频繁利用php对图片进行操作时,会自然封装很多函数,否则会写太多重复的代码.当有很多对图片的相关函数的时候,我们可以考虑将这些函数也整理一下,因而就有 ...

  8. this,this,再次讨论javascript中的this,超全面

    至于js中this这个东西,好多淫解释过了,看起来好高端的样子,不造你看懂了木有? 先引用比较高端的,“汤姆大叔“ 的,yes this 好了,下面加上鄙人比较挫的解释 论点: this 不是变量,不 ...

  9. Android数据共享

    Android数据共享 在Android应用程序开发的过程中,借助Bundle类对象来传递数据并不是在所有场景下都适用,就那简单的Intent类对象来说,就不能put进Bundle类对象中.当然不能否 ...

  10. nginx 出现413 Request Entity Too Large问题的解决方法

    nginx 出现413 Request Entity Too Large问题的解决方法 使用php上传图片(大小1.9M),出现 nginx: 413 Request Entity Too Large ...