SQL语法全解:建表、函数与操作实例

需积分: 3 3 下载量 187 浏览量 更新于2024-10-06 收藏 11KB TXT 举报
"这篇资源是关于SQL的全面笔记和语法,涵盖了从创建表、设置约束到使用基本函数的各种操作,并提供了实例演示。" 在SQL(Structured Query Language)中,我们有许多关键概念和操作来管理数据库。以下是根据提供的内容概述的一些核心知识点: 1. 删除记录:`DELETE FROM table WHERE id NOT IN (SELECT MIN(id) FROM table GROUP BY name)` 这个查询用于删除某些特定条件下的记录,这里删除了每个分组中id最小的记录。 2. 插入记录: - `INSERT INTO (column1, column2) VALUES (value1, value2);` 用于向表中插入单行数据。 - `INSERT INTO SELECT ... UNION SELECT ...` 结构允许从多个查询结果集中合并插入数据。 3. 更新记录:`UPDATE table SET column = value WHERE condition;` 用于修改表中的已有数据,`WHERE` 子句定义了更新的条件。 4. 清空表:`TRUNCATE TABLE` 命令用于删除表中的所有记录,但保留表结构。 5. 选择记录: - `SELECT * FROM table` 返回表中的所有记录。 - `SELECT * FROM table WHERE column IN (value1, value2);` 选取满足指定条件的记录。 - `SELECT column1 AS alias1, column2 AS alias2` 为列名创建别名。 6. 转换和类型转换:`CONVERT()` 函数用于将数据从一种类型转换为另一种类型,如 `CONVERT(char(3), 123)` 将数字转换为长度为3的字符串。 7. 限制返回行数: - `SELECT TOP number * FROM table` 在SQL Server中,用于选取顶部指定数量的记录。 - `SELECT TOP 2 PERCENT 23` 获取数据的23%。 8. 排序:`ORDER BY column ASC/DESC` 对结果进行升序或降序排序,默认为升序。 9. 日期和时间函数: - `GETDATE()` 返回当前系统日期和时间。 - `DATEADD()` 添加指定的时间间隔,如 `DATEADD(hour, 300, GETDATE())` 增加300小时。 - `DATEDIFF()` 计算两个日期之间的差异,如 `DATEDIFF(day, '2008-02-02', '2008-02-03')` 返回天数。 - `DATEPART()` 提取日期的特定部分,如月份、年份等。 - `DATENAME()` 返回日期的文本表示,如月份名称。 10. 字符串函数: - `CHARINDEX('a', 'abc')` 返回子字符串的位置,这里是1。 - `LEN('string')` 计算字符串的长度。 - `LTRIM(' string ')` 去除左侧的空格。 - `RTRIM(' string ')` 去除右侧的空格。 - `RIGHT('string', 5)` 从右侧获取指定长度的子字符串。 - `LEFT('string', 5)` 从左侧获取指定长度的子字符串。 - `REPLACE('123abc', 'abc', 'ABC')` 替换字符串中的子串。 - `SUBSTRING('123abcdef', 3, 4)` 从指定位置开始提取指定长度的子串。 这些是SQL中常见的操作,对于理解和操作数据库至关重要。通过学习和掌握这些基础知识,你可以有效地管理和查询数据。