博客
关于我
SQL语句
阅读量:411 次
发布时间:2019-03-06

本文共 2545 字,大约阅读时间需要 8 分钟。

SQL全名是什么?它的分类以及基本语法操作

SQL,全称是结构化查询语言(Structured Query Language),是关系数据库管理系统的标准语言。作为数据库管理的核心工具,SQL在数据处理、数据存储与检索中发挥着重要作用。

在开始了解SQL之前,我们需要了解它的主要分类。SQL可以划分为以下几大类:

1. 数据定义语言(DDL)

数据定义语言用于定义数据库中的数据结构,包括表、列、索引等。常用的命令包括:

  • CREATE TABLE: 用于创建新表。
  • ALTER TABLE: 用于修改表结构。
  • DROP TABLE: 用于删除表。
  • CREATE INDEX: 用于创建索引。

2. 数据操作语言(DML)

数据操作语言用于对数据库中的数据进行增删查改操作。常用的命令包括:

  • INSERT INTO: 用于插入新数据。
  • DELETE FROM: 用于删除数据。
  • UPDATE: 用于修改数据。

3. 数据控制语言(DCL)

数据控制语言用于对数据库或交易进行管理。常用的命令包括:

  • COMMIT: 提交事务。
  • ROLLBACK: 回滚事务。
  • LOCK: 锁定资源。

4. 数据查询语言(DQL)

数据查询语言用于从数据库中检索数据。常用的命令包括:

  • SELECT: 用于查询数据。
  • WHERE: 用于筛选查询结果。

SQL的基本增删查改操作

掌握SQL的基本操作是学习任何数据库管理技能的基础。以下是几种最常用的操作:

1. 增加数据(INSERT)

插入新数据到表中,可以使用以下语法:

INSERT INTO 表名 (字段1,字段2,...字段n) VALUES (值1,值2,...值n);

注意事项:

  • 如果表中字段顺序与插入顺序不一致,可以通过指定字段名进行插入。
  • 典型示例:
    INSERT INTO MyClass(C_Name, C_ID, C_Descr) VALUES('软件1106班', 6, '武汉软件工程职业学院,软件开发技术专业1106');

2. 删除数据(DELETE)

删除数据可以选择删除全部数据或按条件删除:

  • 删除全部数据:
    DELETE FROM 表名;
  • 删除部分数据:
    DELETE FROM 表名 WHERE 条件;

注意事项:

  • DELETE会生成大量日志,而TRUNCATE TABLE只生成一行日志,效率更高。

3. 查询数据(SELECT)

从表中检索数据可以使用以下语法:

SELECT * FROM 表名;

典型示例:

SELECT * FROM MyClass;SELECT * FROM MyStudent;

4. 修改数据(UPDATE)

修改表中的部分数据可以使用以下语法:

UPDATE 表名 SET 字段1='值1', 字段2='值2'...;

注意事项:

  • 修改多个字段时,字段间使用英文逗号分隔。
  • 典型示例:
    UPDATE MyStudent SET S_Name='李四', S_Birthday='1992-01-18';

数据库脚本与实际操作示例

以下是创建一个数据库以及对数据库中的表进行增删查改的完整脚本:

USE master;GOIF EXISTS(SELECT * FROM sysdatabases WHERE name=N'DB_MyStudentLife')    DROP DATABASE [DB_MyStudentLife];GOCREATE DATABASE [DB_MyStudentLife];GOUSE [DB_MyStudentLife];GOIF EXISTS(SELECT * FROM sysobjects WHERE name=N'MyClass')    DROP TABLE [MyClass];GOCREATE TABLE MyClass (    C_ID INT NOT NULL PRIMARY KEY,    C_Name NVARCHAR(200) NOT NULL,    C_Descr NVARCHAR(MAX) NOT NULL);GOIF EXISTS(SELECT * FROM sysobjects WHERE name=N'MyStudent')    DROP TABLE MyStudent;GOCREATE TABLE MyStudent (    S_ID INT NOT NULL PRIMARY KEY IDENTITY(1,1),    S_Name NVARCHAR(50) NOT NULL,    S_Gender CHAR(2) NOT NULL,    S_Address NVARCHAR(MAX) NOT NULL,    S_Phone NVARCHAR(50) NOT NULL,    S_Age INT NOT NULL,    S_Birthday DATETIME NOT NULL,    S_CardID INT NOT NULL,    S_CID INT NOT NULL REFERENCES MyClass(C_ID));GO

以下是对数据库表的增删查改操作示例:

-- 增加数据到MyClass表INSERT INTO MyClass(C_ID, C_Name, C_Descr) VALUES(1, '软件1101班', '武汉软件工程职业学院,软件开发技术专业1101');INSERT INTO MyClass(C_ID, C_Name, C_Descr) VALUES(2, '软件1102班', '武汉软件工程职业学院,软件开发技术专业1102');-- 其他插入语句...-- 查询数据SELECT * FROM MyClass;SELECT * FROM MyStudent;-- 修改数据UPDATE MyStudent SET S_Name='李四', S_Birthday='1992-01-18';-- 删除数据DELETE FROM MyClass WHERE C_ID='13';

以上内容可以根据实际需求进行扩展或调整,适用于不同场景的数据库操作。

转载地址:http://wxxkz.baihongyu.com/

你可能感兴趣的文章
postgis数据库优化_postgresql 性能优化
查看>>
postgis求面积、交集等相关函数
查看>>
postgis相关函数
查看>>
Postgres Docker版本安装mysql_fdw 插件
查看>>
Postgres invalid command \N数据恢复处理
查看>>
Postgres like 模糊查询匹配集合
查看>>
Postgres 自定义函数内实现 in 操作符的递归查询
查看>>
Postgres 返回当前时间前后指定天数的集合
查看>>
postgres--vacuum
查看>>
postgres--wal
查看>>
postgres--流复制
查看>>
postgres10配置huge_pages
查看>>
PostgreSQL 10.0 preview sharding增强 - pushdown 增强
查看>>
PostgreSQL 10.0 preview 变化 - pg_xlog,pg_clog,pg_log目录更名为pg_wal,pg_xact,log
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 15章 并行查询_15.2. 何时会用到并行查询?...
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.23. 行和数组比较
查看>>
PostgreSQL 10.1 手册_部分 III. 服务器管理_第 21 章 数据库角色
查看>>
Qt开发——网络编程UDP网络广播软件之服务器端
查看>>
Postgresql 12.9如何配置允许远程连接
查看>>
PostgreSQL 9.6 同步多副本 与 remote_apply事务同步级别 应用场景分析
查看>>