1.Base基础/3.Icon图标/操作/search备份
1.Base基础/3.Icon图标/操作/search备份
EN
文档
关于AntDB
部署与升级
使用教程
运维
调优
工具和插件
高级服务
数据安全
参考
  • 文档首页 /
  • 快速入门 /
  • 基本SQL操作

基本SQL操作

更新时间:2024-07-01 14:39:45

安装部署

参考 部署和升级 中的【部署和安装】【集中式安装部署】【安装要求和准备】和【极简模式部署】

基本的 SQL 命令

首先,需要确保已经登录到 AntDB 数据库。可以使用以下命令在命令行登录:

adb -U antdb -p 6655

输入密码后,将看到 AntDB 的命令提示符。

然后,可以开始使用 SQL 命令。以下是一些基本的 SQL 命令的使用方法:

创建数据库

CREATE DATABASE testdb;

这将创建一个名为 "testdb" 的新数据库。

选择数据库

\c testdb

这将切换到刚刚创建的数据库 "testdb"。

创建表

CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100),
    age INTEGER
);

-- 注意:在 AntDB 中,当您执行 SQL 查询时,经常需要为表或子查询设置别名,用于简化查询语句。
-- 但是 AntDB 不支持别名为中文,使用的时候请注意。下例为正确使用范例:
SELECT s.id, s.name FROM employees AS s;

这将在当前数据库中创建一个名为 "employees" 的新表,其中包含四个字段:id(自动递增的主键)、name(员工的名字)、email(员工的邮箱)、age(员工的年龄)。

插入数据

INSERT INTO employees (name, email, age) VALUES ('John Doe', 'john.doe@example.com', 30);

这将在 "employees" 表中插入一条新的记录。

查询数据

SELECT * FROM employees;

这将查询 "employees" 表中的所有记录。

更新数据

UPDATE employees SET age = 31 WHERE name = 'John Doe';

这将更新名为 'John Doe' 的员工的年龄为 31。

删除数据

DELETE FROM employees WHERE name = 'John Doe';

这将删除名为 'John Doe' 的员工的记录。

请注意,所有 SQL 命令都以分号 ";" 结尾,这表示命令的结束。如果在命令结束时忘记输入分号,AntDB 将会等待输入更多的命令,直到输入分号为止。

常用快捷命令

在 AntDB 中,可以使用以下命令来查看所有的数据库:

\l

这个命令会列出 AntDB 服务器上所有的数据库。

如果想要切换到另一个数据库,可以使用 \c 命令,后面跟上想要切换到的数据库名,如:

\c mydatabase

这个命令将切换到名为 "mydatabase" 的数据库。

如果想要完全退出 AntDB 并返回到命令行,可以使用 \q 命令:

\q

这个命令将退出 AntDB 并返回到命令行。

在 AntDB 中,可以使用 \dt 命令来查看当前数据库中的所有表。这个命令会列出当前数据库中所有的表,以及它们的相关信息。

在 AntDB 提示符下输入以下命令:

\dt

这个命令将显示一个列表,列出当前数据库中的所有表,以及这些表的所有者和访问权限。

运行效果:

antdb=# CREATE DATABASE testdb;
CREATE DATABASE
antdb=# \c testdb
您现在已经连接到数据库 "testdb",用户 "postgres".
testdb=# CREATE TABLE employees (
testdb(# id SERIAL PRIMARY KEY,
testdb(# name VARCHAR(100),
testdb(# email VARCHAR(100),
testdb(# age INTEGER
testdb(# );
CREATE TABLE
testdb=# INSERT INTO employees (name, email, age) VALUES ('John Doe', 'john.doe@example.com', 30);
INSERT 0 1
testdb=# SELECT * FROM employees;
 id |   name   |        email         | age
----+----------+----------------------+-----
  1 | John Doe | john.doe@example.com |  30
(1 行记录)


testdb=# UPDATE employees SET age = 31 WHERE name = 'John Doe';
UPDATE 1
testdb=# SELECT * FROM employees;
 id |   name   |        email         | age
----+----------+----------------------+-----
  1 | John Doe | john.doe@example.com |  31
(1 行记录)


testdb=# DELETE FROM employees WHERE name = 'John Doe';
DELETE 1
testdb=# SELECT * FROM employees;
 id | name | email | age
----+------+-------+-----
(0 行记录)


testdb=# \l
                                                                        数据库列表
   名称    |  拥有者  | 字元编码 |            校对规则            |             Ctype              | ICU Locale | Locale Provider |       存取权限
-----------+----------+----------+--------------------------------+--------------------------------+------------+-----------------+-----------------------
 postgres  | postgres | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |            | libc            |
 template0 | postgres | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |            | libc            | =c/postgres          +
           |          |          |                                |                                |            |                 | postgres=CTc/postgres
 template1 | postgres | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |            | libc            | =c/postgres          +
           |          |          |                                |                                |            |                 | postgres=CTc/postgres
 testdb    | postgres | UTF8     | Chinese (Simplified)_China.936 | Chinese (Simplified)_China.936 |            | libc            |
(4 行记录)
问题反馈