sql语句大全
需积分: 0 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语句的基本使用,涵盖了数据库的创建与删除、表的管理、数据查询和更新、索引和视图的操作等方面。对于初学者而言,掌握这些基本操作是理解和操作数据库的关键。
孩子气1991
- 粉丝: 0
- 资源: 1
最新资源
- 油猴(tampermonkey)插件
- python语言douban爬虫程序代码QZQ.txt
- Python语言PPTMB爬虫程序代码QZQ.txt
- Python中利用VPython库实现3D圣诞树的动态可视化
- UDP RTL8211E wireshark能抓到数据,网口调试助手需要打开wireshark才能收到数据
- SwitchyOmega插件
- 绿色经济转型中的创新思维与实践-清华大学CIDEG推出《绿色创新理论与实践》线上课程
- java项目,毕业设计-广场舞团系统
- 企业云上数据安全-华为和信通院-2024
- 使用Python在控制台中打印圣诞树的简易方法
- java项目,毕业设计-就业信息管理系统
- C# WPF-IP扫描工具WPF.zip
- Comsol热-流-固四场耦合增透瓦斯抽采,包括动态渗透率、孔隙率变化模型,涉及pde模块等四个物理场,由于内容可复制源文件
- 国内主要厂商AI大模型一览:技术特性与API调用概览
- Python编程实现控制台圣诞树打印方法
- 桌上型简易脉冲热压机sw16可编辑全套技术开发资料100%好用.zip