zoukankan      html  css  js  c++  java
  • derby数据库ql语法

    【数据库知识】

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

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

    唯一键
    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 FilesSunJavaDBin>networkservercontrol.bat start

    修改网络数据库连接的端口
    C:Program FilesSunJavaDBin>networkservercontrol.bat start -p 3607

    修改网络数据库连接的IP与端口
    C:Program FilesSunJavaDBin>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: est estdb.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 个字节。
     
  • 相关阅读:
    python 中classmethod修饰符、staticmethod和装饰器有什么区别
    zabbix4.0 监控 mysql5.7
    centos7 zabbix 自启动 设定
    生产环境 编译安装 zabbix 服务
    docker 环境 部署 centos7镜像 并配置免秘登陆
    dd 命令 磁盘写性能测试
    hdparm命令 硬盘读取速度压力测试
    zabbix 动态实时日志监控
    已经创建 且运行一段时间的docker容器 添加新的映射端口
    hive 锁表解决方案(unlock不掉的情况下)
  • 原文地址:https://www.cnblogs.com/langtianya/p/3159362.html
Copyright © 2011-2022 走看看