安装人大金仓

注意事项

  • 设置不区分大小写

创建数据库


创建DEMO数据库后,默认也会自动创建PUBLIC模式,后续的新建表等操作会自动在PUBLIC模式中进行。

配置PHP(PDO接口)

下载接口文件

pdo_kdb_x64_for_php7.2.26.zip

注:该接口文件只适合于PHP7.2 TS X64版本,如果你使用的是其他版本的PHP,需要去人大金仓官网下载。

拷贝文件

php_pdo_kdb.dll文件拷贝至php的扩展目录下(扩展目录通过查看phpinfo里面的extension_dir值)

然后在php.ini的末尾添加一行:

extension=php_pdo_kdb.dll

打开命令行,输入php -m,如果提示:

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_kdb' (tried: xxxx/ext\pdo_kdb (找不到指定的模块。)

则需要把数据库安装目录下的D:\soft\Kingbase\ES\V8\Server\bin中的dll文件和D:\soft\Kingbase\ES\V8\jre\bin中的dll文件都拷贝至C:\Windows\System32目录下。

重启服务器,查看phpinfo,如果显示以下信息,则说明安装成功:

连接数据库

$dm_conf = array('host'=> '127.0.0.1','port'=> '54321','db'=> 'DEMO','db_user' => 'SYSTEM','db_pwd'=> 'SYSTEM',
);
$pdo = new PDO("kdb:host=".$dm_conf['host'].";port=".$dm_conf['port'].";dbname=".$dm_conf['db']."",$dm_conf['db_user'],$dm_conf['db_pwd']);

创建表

$sql = 'create table "users"("id" SERIAL primary key,"user_name" VARCHAR(20),"created_at" TIMESTAMP,"updated_at" TIMESTAMP DEFAULT now()::timestamp(0))';
$result = $pdo->exec($sql);

注:smallserialserialbigserial不是真正的字段类型,它们只是为了创建唯一标识符列而存在的方便符号(类似MySQL数据库中支持的AUTO_INCREMENT属性)。
例如以下建表语句:

CREATE TABLE tablename (
id SERIAL
);

等价于

CREATE SEQUENCE tablename_id_SEQ;
CREATE TABLE tablename (
id integer NOT NULL DEFAULT nextval('tablename_id_SEQ')
);
ALTER SEQUENCE tablename_id_SEQ OWNED BY tablename.id;

插入数据

$sql = "insert into users (user_name,created_at,updated_at) values ('张三','2020-09-03 10:06:00','".date('Y-m-d H:i:s')."')";
$result = $pdo->exec($sql);

查询数据

$sql = "select * from users;";
$stmt = $pdo->prepare($sql);
if($stmt===false){var_dump($pdo->errorInfo());die;
}
$rs = $stmt->execute();
if ($rs) {while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {var_dump($row);}
}

更新数据

$sql = "update users set user_name = '李四' where id = 1";
$result = $pdo->exec($sql);

删除数据

$sql = "delete from users where id = 1";
$result = $pdo->exec($sql);

设置默认模式

通常情况下,在sql语句中的表名前需要指定模式名。例如上面例子中的users等价于public.users(因为public是默认模式),其中public就是模式名,users是表名。
可以通过SET search_path TO 模式名来更改当前模式。设置后,就会默认去设置的模式中找表。

  • 查看当前模式
SHOW search_path;

其他

  • 查询某个库下的所有表
SELECT * FROM sys_tables;
  • 查询当前时间
select now();

SELECT CURRENT_TIMESTAMP

如果只需要年月日时分秒:

SELECT now()::timestamp(0)
  • 查询表空间
 select * from sys_tablespace;
  • 查看表空间大小
 select sys_size_pretty(sys_tablespace_size('SYS_DEFAULT'));
  • 查询表的字段信息
SELECT a.attname,sys_catalog.format_type(a.atttypid, a.atttypmod),a.attnum,sys_catalog.col_description(a.attrelid, a.attnum)FROM sys_catalog.sys_attribute aWHERE a.attnum > 0 AND NOT a.attisdropped and a.attrelid = 'test.users'::regclass::oidORDER BY a.attnum;

注:test.users为表名。

  • 获取最后插入的自增ID的值
select currval('users_id_SEQ');

select lastval()

注:需要先执行插入语句,然后再执行该语句。users_id_SEQ为序列名。

PHP连接并使用人大金仓数据库kingbase相关推荐

  1. BenchmarkSQL 5.0源码修改 -- 支持 人大金仓数据库 KingBase

    benchmarksql 在5.0版本中没有对人大金仓数据库(KingBase)的TPC-C测试支持,本文通过修改部分源码,让benchmarksql 5.0支持KingBase. 个人理解: Ben ...

  2. XXL-JOB适配人大金仓数据库kingbase

    一:背景 XXL-JOB版本是2.2.1-SNAPSHOT 二:配置连接池 2.1 首先找到xxl-job-admin目录下的pom.xml文件,把原本mysql-connector-java连接包注 ...

  3. 人大金仓数据库KingBase+SpringBoot+MyBatis的使用

    一.将KingBase提供的jdbc jar包导入到本地maven仓库 mvn install:install-file -Dfile=jar包的位置 -DgroupId=com.kingbase - ...

  4. Mac/Windows使用DBeaver+jdbc驱动连接KingbaseES人大金仓数据库

    1.准备工作 下载DBeaver Communit连接工具并安装: https://dbeaver.io/download/ 官网下载驱动你电脑对应的文件: https://www.kingbase. ...

  5. DBeaver连接(人大金仓/达梦)数据库 ,达梦、人大金仓数据库可视化工具

    1. 下载安装DBeaver DBeaver下载地址 DBeaver 支持多平台,选择自己的操作系统 2. 使用DBeaver连接人大金仓数据库 2.1 数据库 -> 驱动管理器 2.2 新建驱 ...

  6. DataGrip连接人大金仓数据库(kingbase)详细教程【超详细】

    DataGrip连接人大金仓数据库(kingbase)详细教程[超详细] 第一步:下载DataGrip 第二步:添加人大金仓的数据库引擎 第三步:输入账号密码连接 第四步:查看数据库 关于连接其它数据 ...

  7. 国产化人大金仓数据库转库工具:oracle12c数据库转kingbase8.6人大金仓数据库实例演示

    oracle12c数据库转人大金仓数据库实例演示 第一章:数据准备 ① 人大金仓建库建用户 ② 人大金仓授权表空间 ③ 人大金仓创建 schema 表 第二章:转库演示 ① 转库工具准备 ② 创建源库 ...

  8. 人大金仓数据库sql语句_人大金仓数据库总结(SQL和JDBC)

    人大金仓作为一款国产数据库,使用的人数和相关资料都比较少. 最近使用人大金仓数据库,做了个简单的SQL和java jdbc的测试,希望能够供大家参考. 1.SQL语句 创建表: CREATE TABL ...

  9. nacos 适配达梦、人大金仓数据库

    文章目录 一.准备工作 1. 阅读官网文档 2. 下载源码,按官网更详细 3. 下载达梦.人大金仓数据库驱动 二.修改nacos源码 2.1. 引入驱动依赖 2.2. 引用数据库 2.3. 修改配置 ...

  10. mysql数据库迁移到人大金仓数据库问题记录清单

    (1)数据库类型不支持异常:dbType not support : null, url jdbc:kingbase8. 解决方法: 数据源配置: spring:datasource:druid:st ...

最新文章

  1. glusterfs初步实践一(类似NFS)
  2. 腾讯天衍实验室主任郑冶枫
  3. oracle索引和同义词,关于Oracle序列、索引、同义词
  4. 重启oracle后报01034,ORACLE: ORA-01034, ORA-27123问题处理的分析
  5. IOC容器和Bean的配置实例
  6. .NET6之MiniAPI(二十九):UnitTest
  7. 限流中间件IpRateLimitMiddleware的使用
  8. 一周学会HTML----Day03常用标签(下)
  9. win32获取其它进程变量地址存放的信息
  10. 软件测试工程师如何编写一篇杀手级简历?
  11. math ceil函数python_Python3 ceil() 函数
  12. android游戏编程之从零开始!JVM虚拟机原理深入解析,看这一篇就够了!
  13. android+动态隐藏图标,2018安卓手机怎么隐藏图标 进入隐藏应用界面
  14. 20155201 2016-2017-2 《Java程序设计》第六周学习总结
  15. java程序员出路在哪里,使用/教程/实例
  16. 数字图像处理 第八章 图像压缩
  17. 地形建模(一)——TIN地形的生成
  18. zabbix 表结构: triggers中expression 对应的信息
  19. 华硕主板win10 使用固态硬盘,机械硬盘不显示解决
  20. CAM350导入rou文件报错‘No header % found,load stopped‘

热门文章

  1. 银行家算法(C++实现)
  2. java 根据条件从List中筛选出符合条件的集合
  3. 广告文案:用文案讲好故事的广告是如何做?
  4. ant design vue金额校验
  5. 企业级shel高级l常用命令
  6. MySQL 数据库管理之 --- SQL 语言进阶一
  7. 【ICPC-303】hau 1874 畅通工程续
  8. python通过线程实现定时器timer的方法
  9. Easy Mobile插件之Advertising
  10. 利用tushare读取中国股市数据,并用绘制股票行情图形