gpt4 book ai didi

mysql - Clojure QL : running plain SQL queries

转载 作者:行者123 更新时间:2023-11-29 13:29:52 25 4
gpt4 key购买 nike

有什么方法可以在 clojureql 中执行以下查询吗? :

  • 插入表1(id,姓名,年龄)从表2中选择id,姓名,年龄
  • 创建表t1(id int,名称varchar(50),年龄varchar(100));
  • 删除表table3;
  • 分析表4;

或者有什么办法可以运行这些吗?即使我需要另一个库来完成它,也没关系。

最佳答案

ClojureQL主要用于查询。对insert(conj!tablerecords)和delete(disj!tablepredicate)有一些支持,但它主要做的事情是提供一个基于SQL的接口(interface)关系运算符projectselectrename

要执行您要求的查询,您可以进入 ClojureQL 在底层使用的 clojure.java.jdbc

首先,DDL 命令可以在 clojure.java.jdbc.ddl 命名空间的帮助下完成:

;; create table t1 (id int, name varchar(50), age varchar(100));
(execute! db
(create-table :t1
[:id :int]
[:name "VARCHAR(50)"]
[:age "VARCHAR(100)"])

;; drop table table3;
(execute! db
(drop-table :table3)

我认为那里没有对其他两个操作的语法支持,但您可能可以像这样向数据库发送原始查询。

(execute! db 
["insert into table1(id, name, age) select id, name, age from table2"])

如果您正在进行大量迁移/ddl-y 类型的操作,我认为有些库具有更多语法支持,因为 clojure.java.jdbc.ddl ”故意使用非常少的 DDL 语法”。 (也许LobosRagtime?)

关于mysql - Clojure QL : running plain SQL queries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19627982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com