翰高数据库基本语法详细介绍


翰高数据库(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语句,因为它会清空整个表的数据。

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

### 瀚高数据库中的增删改查操作 #### 插入数据 (Insert) 在瀚高数据库中插入新记录可以使用`INSERT INTO`语句。此命令用于向表中添加新的行。 ```sql INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); ``` 例如,要在一个名为`employees`的表格里增加一条员工信息: ```sql INSERT INTO employees (first_name, last_name, age) VALUES ('John', 'Doe', 30)[^1]; ``` #### 查询数据 (Select) 为了检索存储于瀚高数据库内的特定信息,可运用`SELECT`指令来获取所需的数据集。 ```sql SELECT column1, column2, ... FROM table_name; ``` 如果想要查找所有年龄大于等于30岁的员工姓名及其职位,则执行如下SQL查询: ```sql SELECT first_name, position FROM employees WHERE age >= 30; ``` #### 更新数据 (Update) 当需要更改现有条目的某些属性时,应该采用`UPDATE`命令来进行更新动作。这同样适用于标记某项记录为已删除的情况,即所谓的软删除机制,在这种情况下会设置一个特殊的标志位如`is_deleted=1`而非真正移除物理上的存在[^2]。 ```sql UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE some_column = some_value; ``` 对于上述提到的例子而言,假设现在要把ID号为5的那个雇员的名字改为Jane Smith并同时将其状态设为离职(通过改变`is_deleted`字段),那么对应的SQL语句将是这样的形式: ```sql UPDATE employees SET first_name='Jane', last_name='Smith', is_deleted=1 WHERE employee_id=5; ``` #### 删除数据 (Delete) 最后,若确实希望彻底清除掉不再需要的信息,便可以通过发出带有适当过滤条件的`DELETE FROM`请求完成硬删除过程;不过在此之前务必确认好目标对象以免误伤无辜! ```sql DELETE FROM table_name WHERE some_column=some_value; ``` 以先前创建过的那张employee列表为例,这里展示如何安全地去除那些已经被标注成废弃(`is_deleted=1`)的人事档案: ```sql DELETE FROM employees WHERE is_deleted=1; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骑上单车去旅行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值