sql语句大全

preview
需积分: 0 1 下载量 63 浏览量 更新于2013-07-08 收藏 21KB DOCX 举报
SQL(Structured Query Language)是用于管理和操作关系数据库的语言。它提供了创建、查询、更新和删除数据库对象以及数据的工具。以下是一些基本的SQL语句及其详细解释: 1. **创建数据库** ```sql IF EXISTS (SELECT * FROM sysdatabases WHERE name='databaseName') DROP DATABASE databaseName GO CREATE DATABASE databasename ``` 这段代码首先检查数据库`databaseName`是否已经存在,如果存在则删除,然后创建新的数据库。 2. **删除数据库** ```sql DROP DATABASE databasename ``` 该语句用于删除指定的数据库。 3. **备份数据库** ```sql -- 创建备份设备 USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' -- 开始备份 BACKUP DATABASE pubs TO testBack ``` 使用`sp_addumpdevice`存储过程定义备份设备,然后使用`BACKUP DATABASE`语句执行数据库备份。 4. **创建新表** ```sql CREATE TABLE tabname( col1 type1 [NOT NULL] [PRIMARY KEY], col2 type2 [NOT NULL], ... ) ``` 创建一个新的表,其中`tabname`是表名,`col1`、`col2`等是列名,`type1`、`type2`是数据类型,`NOT NULL`表示非空约束,`PRIMARY KEY`定义为主键。 5. **根据已有表创建新表** - 方法A: ```sql USE 原数据库名 GO SELECT * INTO 目的数据库名.dbo.目的表名 FROM 原表名 ``` - 方法B: ```sql CREATE TABLE tab_new AS SELECT col1, col2... FROM tab_old ``` 第一种方法会将原表的所有数据复制到新表,第二种方法仅复制结构。 6. **创建序列** ```sql CREATE SEQUENCE SIMON_SEQUENCE MINVALUE 1 MAXVALUE 999999999999999999999999999 START WITH 1 INCREMENT BY 1 CACHE 20; ``` 序列生成器在每次请求时返回一个唯一的整数,常用于自增主键。 7. **删除表** ```sql DROP TABLE tabname ``` 用于删除指定的表。 8. **修改表结构** - 增加列: ```sql ALTER TABLE tabname ADD colname coltype ``` - 删除列: ```sql ALTER TABLE tabname DROP COLUMN colname ``` - 添加主键: ```sql ALTER TABLE tabname ADD PRIMARY KEY (col) ``` - 删除主键: ```sql ALTER TABLE tabname DROP PRIMARY KEY (col) ``` 9. **创建索引** ```sql CREATE [UNIQUE] INDEX idxname ON tabname (col...) ``` 索引用于加速查询,`UNIQUE`表示索引中的值必须唯一。 10. **删除索引** ```sql DROP INDEX idxname ON tabname ``` 用于删除已存在的索引。 11. **创建视图** ```sql CREATE VIEW viewname AS SELECT statement ``` 视图是基于查询结果的虚拟表。 12. **删除视图** ```sql DROP VIEW viewname ``` 删除已创建的视图。 13. **基础SQL查询语句** - 数据记录筛选: ```sql SELECT * FROM 数据表 WHERE 字段名 = 值 ORDER BY [DESC] SELECT * FROM 数据表 WHERE 字段名 LIKE '%值%' ORDER BY 字段名 [DESC] SELECT TOP 10 * FROM 数据表 WHERE 字段名 = 值 ORDER BY 字段名 [DESC] SELECT TOP 10 * FROM 数据表 ORDER BY 字段名 [DESC] SELECT * FROM 数据表 WHERE 字段名 IN ('值1', '值2', '值3') SELECT * FROM 数据表 WHERE 字段名 BETWEEN 值1 AND 值2 ``` - 更新数据记录: ```sql UPDATE 数据表 SET 字段名 = 新值 WHERE 条件表达式 UPDATE 数据表 SET 字段1 = 值1, 字段2 = 值2, ... WHERE 条件表达式 ``` - 删除数据记录: ```sql DELETE FROM 数据表 WHERE 条件表达式 DELETE FROM 数据表 -- 删除所有记录 ``` - 添加数据记录: ```sql INSERT INTO 数据表 (字段1, 字段2, ...) VALUES (值1, 值2, ...) INSERT INTO 目标数据表 SELECT * FROM 源数据表 ``` - 数据记录统计函数: ```sql AVG(字段名) -- 平均值 COUNT(*) -- 总行数 COUNT(字段名) -- 指定列有值的行数 MAX(字段名) -- 最大值 MIN(字段名) -- 最小值 SUM(字段名) -- 求和 ``` 使用这些函数时,可以结合`SELECT`语句进行计算。 以上就是SQL语句的基本使用,涵盖了数据库的创建与删除、表的管理、数据查询和更新、索引和视图的操作等方面。对于初学者而言,掌握这些基本操作是理解和操作数据库的关键。