基本SQL操作
安装部署
参考 部署和升级 中的【部署和安装】【集中式安装部署】【安装要求和准备】和【极简模式部署】
基本的 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 行记录)