SQL语句根据其功能被分为四大类:DDL、DML、DQL、DCL具体用法 您所在的位置:网站首页 sql语句foreach SQL语句根据其功能被分为四大类:DDL、DML、DQL、DCL具体用法

SQL语句根据其功能被分为四大类:DDL、DML、DQL、DCL具体用法

2023-07-04 10:43| 来源: 网络整理| 查看: 265

一、DDL语句用于定义数据库对象,如创建表、修改表结构、删除表等。下面是DDL语句的具体用法:

CREATE:用于创建数据库对象,如创建表、视图、索引等。 语法:

CREATE TABLE table_name ( column1 datatype1 [constraint], column2 datatype2 [constraint], ... [table_constraint] );

示例:

CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT, gender VARCHAR(10) );

这个SQL语句创建了一个名为"students"的表,包含了id、name、age和gender四个列。其中,id列是主键,用于唯一标识每个学生记录。

ALTER:用于修改数据库对象的结构,如修改表的列、添加约束等。 语法:

ALTER TABLE table_name ADD column_name datatype [constraint], ALTER COLUMN column_name datatype [constraint], DROP COLUMN column_name, ADD CONSTRAINT constraint_name constraint_definition, DROP CONSTRAINT constraint_name;

示例:

ALTER TABLE students ADD email VARCHAR(50), DROP COLUMN gender, ADD CONSTRAINT age_check CHECK (age >= 0);

这个SQL语句向"students"表中添加了一个名为"email"的列,删除了"gender"列,并添加了一个名为"age_check"的检查约束,用于确保"age"列的值大于等于0。

DROP:用于删除数据库对象,如删除表、视图、索引等。 语法:

DROP TABLE table_name;

示例:

DROP TABLE students;

这个SQL语句删除了名为"students"的表。

TRUNCATE:用于清空表中的数据,但不删除表本身。 语法:

TRUNCATE TABLE table_name;

示例:

TRUNCATE TABLE students;

这个SQL语句清空了名为"students"的表中的所有数据。注意,TRUNCATE操作不会删除表本身,只会删除表中的数据。

二、DML语句用于操作表中的数据,如插入数据、修改数据、删除数据等。下面是DML语句的具体用法:

INSERT:用于向表中插入数据。 语法:

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

示例:

INSERT INTO students (id, name, age, gender) VALUES (1, 'Tom', 18, 'Male');

这个SQL语句向"students"表中插入了一条记录,包含了id、name、age和gender四个字段的值。这个例子中,id为1,name为Tom,age为18,gender为Male。

UPDATE:用于修改表中的数据。 语法:

UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;

示例:

UPDATE students SET age = 19 WHERE id = 1;

这个SQL语句将"students"表中id为1的学生的年龄修改为19岁。

DELETE:用于删除表中的数据。 语法:

DELETE FROM table_name WHERE condition;

示例:

DELETE FROM students WHERE id = 1;

这个SQL语句删除了"students"表中id为1的学生记录。

SELECT:用于查询表中的数据。 语法:

SELECT column1, column2, ... FROM table_name WHERE condition;

示例:

SELECT * FROM students WHERE age > 18;

这个SQL语句从"students"表中查询了所有年龄大于18岁的学生记录。*表示查询所有列,WHERE子句用于指定查询条件。

三、DQL语句用于查询数据库中的数据,是最常用的SQL语句类型。下面是DQL语句的具体用法:

SELECT:用于查询表中的数据。 语法:

SELECT column1, column2, ... FROM table_name WHERE condition GROUP BY column1, column2, ... HAVING condition ORDER BY column1, column2, ... ASC/DESC;

示例:

SELECT name, age FROM students WHERE gender = 'Male' ORDER BY age DESC;

这个SQL语句从"students"表中查询了所有性别为男性的学生的姓名和年龄,并按照年龄降序排列结果。

JOIN:用于在多个表之间进行关联查询。 语法:

SELECT column1, column2, ... FROM table1 JOIN table2 ON join_condition WHERE condition;

示例:

SELECT students.name, courses.course_name FROM students JOIN courses ON students.course_id = courses.id;

这个SQL语句从"students"表和"courses"表中查询了学生姓名和所选课程的名称,并通过course_id和id字段进行关联。

UNION:用于将多个SELECT语句的结果集合并成一个结果集。 语法:

SELECT column1, column2, ... FROM table1 UNION SELECT column1, column2, ... FROM table2;

示例:

SELECT name FROM students WHERE age > 18 UNION SELECT name FROM teachers WHERE age > 30;

这个SQL语句将"students"表中年龄大于18岁的学生姓名和"teachers"表中年龄大于30岁的教师姓名合并成一个结果集。

SUBQUERY:用于在一个查询中嵌套另一个查询。 语法:

SELECT column1, column2, ... FROM table_name WHERE column_name operator (SELECT column_name FROM table_name WHERE condition);

示例:

SELECT name, age FROM students WHERE course_id IN (SELECT id FROM courses WHERE course_name = 'Math');

这个SQL语句查询了选修了数学课程的学生的姓名和年龄,通过子查询在"courses"表中查询了课程名称为"Math"的课程ID,然后在"students"表中查询了选修该课程的学生信息。

四、DCL语句用于管理数据库中的权限和安全性,包括创建用户、授权和回收权限等操作。下面是DCL语句的具体用法:

GRANT:用于授予用户或用户组访问数据库对象的权限。 语法:

GRANT permission ON object TO user;

示例:

GRANT SELECT, INSERT ON students TO user1;

这个SQL语句授予"user1"用户在"students"表中执行SELECT和INSERT操作的权限。

REVOKE:用于回收用户或用户组对数据库对象的权限。 语法:

REVOKE permission ON object FROM user;

示例:

REVOKE SELECT ON students FROM user1;

这个SQL语句回收"user1"用户在"students"表中执行SELECT操作的权限。

CREATE USER:用于创建新的数据库用户。 语法:

CREATE USER username IDENTIFIED BY password;

示例:

CREATE USER user2 IDENTIFIED BY 'password';

这个SQL语句创建了一个名为"user2"的新用户,并设置了相应的密码。

ALTER USER:用于更改现有用户的属性和权限。 语法:

ALTER USER username [IDENTIFIED BY password] [DEFAULT TABLESPACE tablespace_name];

示例:

ALTER USER user2 IDENTIFIED BY 'new_password';

这个SQL语句更改"user2"用户的密码为"new_password"。

DROP USER:用于删除现有用户。 语法:

DROP USER username;

示例:

DROP USER user2;

这个SQL语句删除名为"user2"的用户。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有