关系数据库的数据操作分为两类:数据定义语言(Data Definition Language,DDL)和数据操作语言(Data Manipulation Language,DML)。
1. 数据定义语言
数据定义语言是用于定义数据库结构和其相关的元素(表、列、键等)的语言。在关系数据库中,DDL主要包括以下几种操作:
1.1 CREATE
CREATE语句用于创建数据库对象,如创建表、视图、索引等。CREATE语句的基本语法如下:
CREATE object_name(parameter1 datatype1, parameter2 datatype2, ...);
其中,object_name代表要创建的对象名称,parameter和datatype代表对象的属性和数据类型。例如,创建一个名为student的表,包含三个字段id、name和age,数据类型分别为INT、VARCHAR和INT,可以使用以下语句:
CREATE TABLE student(id INT, name VARCHAR(20), age INT);
1.2 ALTER
ALTER语句用于修改数据库对象的结构,如添加、删除、重命名列等。ALTER语句的基本语法如下:
ALTER object_name ADD column_name data_type;
其中,object_name代表要修改的对象名称,column_name和data_type代表要修改的列名称和数据类型。例如,向上述student表中添加一个新字段sex,数据类型为VARCHAR,可以使用以下语句:
ALTER TABLE student ADD sex VARCHAR(10);
1.3 DROP
DROP语句用于删除数据库对象,如删除表、视图等。DROP语句的基本语法如下:
DROP object_name;
其中,object_name代表要删除的对象名称。例如,删除上述student表,可以使用以下语句:
DROP TABLE student;
2. 数据操作语言
数据操作语言用于插入、更新、删除数据等操作。在关系数据库中,DML主要包括以下几种操作:
2.1 SELECT
SELECT语句用于从数据库中检索数据,是使用最频繁的DML语句之一。SELECT语句的基本语法如下:
SELECT column_name1, column_name2, ... FROM table_name WHERE condition;
其中,column_name代表要检索的列名称,如果需要检索所有列,可以使用通配符*(例如SELECT * FROM table_name);table_name代表要检索的表名称;condition代表检索的条件(可选)。例如,从上述student表中检索所有学生的姓名和年龄,可以使用以下语句:
SELECT name, age FROM student;
2.2 INSERT
INSERT语句用于向数据库中插入新数据。INSERT语句的基本语法如下:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
其中,table_name代表要插入数据的表名称,column和value代表要插入的列和对应的值。例如,向上述student表中插入一条新的学生记录,可以使用以下语句:
INSERT INTO student (id, name, age, sex) VALUES (1, '张三', 20, '男');
2.3 UPDATE
UPDATE语句用于更新数据库中的数据。UPDATE语句的基本语法如下:
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
其中,table_name代表要更新的表名称,column和value代表要更新的列和对应的值,condition代表更新的条件(可选)。例如,将上述student表中所有年龄大于18岁的学生的性别改为女性,可以使用以下语句:
UPDATE student SET sex = '女' WHERE age > 18;
2.4 DELETE
DELETE语句用于从数据库中删除数据。DELETE语句的基本语法如下:
DELETE FROM table_name WHERE condition;
其中,table_name代表要删除数据的表名称,condition代表要删除的条件(可选)。例如,将上述student表中所有性别为女性的学生删除,可以使用以下语句:
DELETE FROM student WHERE sex = '女';
总之,数据定义语言和数据操作语言是关系型数据库中最基本也最常用的两类数据操作语言,需要在实际应用中加以灵活运用。