翰高数据库(HighGo Database)是一种关系型数据库,它兼容 PostgreSQL 语法,以下是其基本语法的详细介绍:

一、数据库操作

1. 创建数据库

  • 语法:CREATE DATABASE database_name;
  • 例如:CREATE DATABASE my_database;创建一个名为my_database的数据库。这里database_name是要创建的数据库名称,名称要符合标识符的规则,不能包含特殊字符(除非用引号引用),并且在数据库实例中要具有唯一性。

2. 删除数据库

  • 语法:DROP DATABASE database_name;
  • 注意:删除数据库是一个不可逆的操作,要谨慎使用。例如:DROP DATABASE test_database;将永久删除test_database,包括其中的所有表、数据等内容。

3. 连接数据库

  • 一般通过数据库客户端工具,在命令行中使用语法类似于psql -h host -p port -U user -d database。其中-h是指定主机地址,-p是端口号,-U是用户名,-d是要连接的数据库名称。

二、表操作

1.创建表

  • 语法:
CREATE TABLE table_name (
    column1 data_type1 [constraint1],
    column2 data_type2 [constraint2],
    …
);
  • 例如:
CREATE TABLE employees (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    age INTEGER,
    department VARCHAR(30)
);
  • 解释:
    • table_name是要创建的表的名称。column1、column2等是表中的列名。data_type1、data_type2是对应的列的数据类型,如VARCHAR(可变长度字符串)、INTEGER(整数)、DATE(日期)等。constraint可以是主键约束(PRIMARY KEY)、唯一约束(UNIQUE)、非空约束(NOT NULL)等。在上述例子中,id列是自增的主键(SERIAL类型在内部会自动创建一个序列来实现自增),name是长度不超过 50 的字符串,age是整数,department是长度不超过 30 的字符串。

2.修改表

  • 添加列
    • 语法:ALTER TABLE table_name ADD COLUMN new_column_name data_type [constraint];
    • 例如:ALTER TABLE employees ADD COLUMN salary DECIMAL(10,2);employees表中添加了一个名为salary的列,数据类型是小数,总长度为 10 位,其中小数部分占 2 位。
  • 修改列的数据类型
    • 语法:ALTER TABLE table_name ALTER COLUMN column_name TYPE new_data_type;
    • 例如:ALTER TABLE employees ALTER COLUMN age TYPE BIGINT;employees表中的age列的数据类型从INTEGER修改为BIGINT
  • 删除列
    • 语法:ALTER TABLE table_name DROP COLUMN column_name;
    • 例如:ALTER TABLE employees DROP COLUMN department;employees表中删除department列。

3.删除表

  • 语法:DROP TABLE table_name;
  • 例如:DROP TABLE old_table;将永久删除名为old_table的表及其所有数据。

三、数据操作(DML:数据操纵语言)

1.插入数据

  • 语法:
    • 插入单条记录:INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …);
    • 例如:INSERT INTO employees (name, age, department) VALUES ('John Doe', 30, 'IT');employees表中插入一条记录,包含姓名John Doe,年龄
      30部门IT
  • 插入多条记录:INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …), (value3, value4, …), …;
    例如:
    INSERT INTO employees (name, age, department) VALUES ('Jane Smith', 28, 'HR'), ('Bob Johnson', 35, 'Finance');
    同时插入两条记录到employees表。

2.查询数据

基本查询

  • 语法:SELECT column1, column2, … FROM table_name;
  • 例如:SELECT name, age FROM employees;查询employees表中的姓名和年龄列的数据。

条件查询

  • 语法:SELECT column1, column2, … FROM table_name WHERE condition;
  • 例如:SELECT name, age FROM employees WHERE age > 30;查询employees表中年龄大于 30 的员工的姓名和年龄。condition可以是比较运算(如>、<、=、>=、<=)、逻辑运算(AND、OR、NOT)等组合的表达式。

排序查询

  • 语法:SELECT column1, column2, … FROM table_name ORDER BY column_name [ASC|DESC];
  • 例如:SELECT name, age FROM employees ORDER BY age DESC;按照年龄降序查询employees表中的姓名和年龄列的数据。ASC表示升序(默认),DESC表示降序。

3.更新数据

  • 语法:UPDATE table_name SET column1 = value1, column2 = value2, … WHERE condition;
  • 例如:UPDATE employees SET salary = salary * 1.1 WHERE department = 'IT';将IT部门员工的工资提高 10%。WHERE子句用于指定要更新的记录范围,如果省略WHERE子句,则会更新表中的所有记录。

4.删除数据

  • 语法:DELETE FROM table_name WHERE condition;
  • 例如:DELETE FROM employees WHERE age < 25;删除employees表中年龄小于 25的员工记录。同样,要谨慎使用不带WHERE子句的DELETE语句,因为它会清空整个表的数据。

这只是翰高数据库基本语法的一部分,还有视图、索引、存储过程等高级特性的语法可以进一步深入学习和探索。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐