cockroachDB支持如下的SQL语句,点击对应语句获取更多详细信息。

在内置的SQL shell中,使用 \h [statement]获取指定语句的帮助信息。

数据处理语句

Statement Usage
CREATE TABLE AS 使用选择查询的结果在数据库中创建一个新的表
DELETE 删除表中指定的行
EXPLAIN 查看对表数据进行操作的语句的调试和分析详细信息
IMPORT 从CSV文件中导入整个表的数据
INSERT 在表中插入行
SELECT 从表中选择特定的行和列,并可选择计算派生值
SHOW TRACE 执行一个语句,然后返回该动作在CockroachDB的各层的执行信息
TABLE 选择表中所有行和列
TRUNCATE 删除指定表的所有行
UPDATE 更新表中的一行
UPSERT 插入不破坏唯一性约束的行;更新这些行。
VALUES 返回包含指定值的行

数据定义语句

Statement Usage
ADD COLUMN 给表添加列
ADD CONSTRAINT 给列添加约束
ALTER COLUMN 更改列的默认约束,或者删除Not Null约束.
ALTER DATABASE 修改数据库scheme
ALTER INDEX 修改索引scheme
ALTER SEQUENCE New in v2.0: 修改一个sequence的scheme
ALTER TABLE 修改table的scheme
ALTER USER New in v2.0: 添加或修改用户密码
ALTER VIEW 重命名视图
CREATE DATABASE 创建新数据库
CREATE INDEX 为表创建索引
CREATE SEQUENCE New in v2.0: 创建一个序列
CREATE TABLE 在数据库中创建一个表
CREATE TABLE AS 使用选择查询的结果在数据库中创建一个新的表
CREATE VIEW 在数据库中创建一个新的视图
DROP COLUMN 删除表中的列
DROP CONSTRAINT 删除列的约束
DROP DATABASE 删除数据库和所有相关对象
DROP INDEX 删除表中的一个索引
DROP SEQUENCE New in v2.0: 删除一个序列
DROP TABLE 删除一个表
DROP VIEW 删除一个视图
EXPERIMENTAL_AUDIT 打开或关闭表的SQL审核日志
RENAME COLUMN 修改表中的列名
RENAME DATABASE 重命名数据库
RENAME INDEX 重命名表的索引
RENAME SEQUENCE 重命名序列
RENAME TABLE 重命名表,或者在数据库间移动表
SHOW COLUMNS 查看表中列的详细信息
SHOW CONSTRAINTS 查看表的约束
SHOW CREATE SEQUENCE New in v2.0: 查看将创建指定序列副本的CREATE SEQUENCE语句。
SHOW CREATE TABLE 查看将创建指定表的副本的CREATE TABLE语句
SHOW CREATE VIEW 查看将创建指定视图副本的CREATE VIEW语句
SHOW DATABASES 列出集群中所有数据库
SHOW INDEX 查看表中的索引信息
SHOW SCHEMAS New in v2.0:列出数据库的scheme
SHOW TABLES 列出数据库或虚拟scheme中的表或视图
SHOW EXPERIMENTAL_RANGES 列出指定表或者索引的range信息
SPLIT AT 强制使用表或者索引中的指定行切分一个kv层的range

事务处理语句

Statement Usage
BEGIN 发起一个事务.
COMMIT 提交当前事务.
RELEASE SAVEPOINT 使用CockroachDB提供的函数进行客户端事务重试时,一旦没有可重试的错误,就提交事务的更改。
ROLLBACK 忽略当前事务的所有变更,或者当使用CockroachDB提供的函数进行客户端事务重试,回滚到cockroach_restart保存点,并重试事务。
SAVEPOINT 当使用CockroachDB提供的函数进行客户端事务重试,启动一个可重试事务
SET TRANSACTION 为每个session或者独立的事务设置隔离级别或者优先级
SHOW 查看当前事务的设置

访问管理语句

Statement Usage
CREATE ROLE New in v2.0: 创建SQL角色,这些角色包含任意数量的角色和用户作为成员。
CREATE USER 创建SQL用户,它可以控制你的数据库和表权限
DROP ROLE New in v2.0: 删除一个或者多个SQL角色
DROP USER 删除一个或者多个SQL用户
GRANT <privileges> 给用户或者角色授权
GRANT <roles> New in v2.0: 添加一个用户或者角色作为某角色的一个成员
REVOKE <privileges> 撤消用户或角色的权限
REVOKE <roles> New in v2.0: 撤销用户或者角色在角色中的成员身份
SHOW GRANTS 查看用户的授权
SHOW ROLES 列出所有数据库的角色
SHOW USERS 列出所有数据库的用户

Session管理语句

Statement Usage
RESET 将session变量重置为默认值
SET 设置一个当前session变量
SET TRANSACTION 设置单个事务的隔离级别或优先级
SHOW 列出当前session或事务的设置

集群管理语句

Statement Usage
RESET CLUSTER SETTING 重置集群设置为默认值
SET CLUSTER SETTING 设置集群范围的设置
SHOW ALL CLUSTER SETTINGS 列出当前群集范围的设置
SHOW SESSIONS 列出当前活跃的session的详细信息

查询管理语句

Statement Usage
CANCEL QUERY 取消一个正在运行的SQL查询
SHOW QUERIES 列出当前运行中的SQL查询的详细信息

Job管理语句

在CockroachDB中Jobs代表不会立刻执行完成的tasks,例如scheme变更或者企业版备份恢复。

Statement Usage
CANCEL JOB 取消一个 BACKUP, RESTORE, 或者 IMPORT 的job
PAUSE JOB 暂停一个 BACKUP, RESTORE, 或 IMPORT 的job.
RESUME JOB 恢复暂停的 BACKUP, RESTORE, 或 IMPORT 的jobs.
SHOW JOBS 查看job的信息

Backup & Restore Statements (Enterprise)

以下语句只有企业版 用户可用

非企业版用户,可以查看 Back up DataRestore Data.

Statement Usage
BACKUP 创建数据库和表的灾难恢复备份
RESTORE 使用备份恢复你的数据库或表
SHOW BACKUP 列出备份的内容