<center>SQL知识点归纳
一.设计数据库基本原则
1、E-R模型设计
二、数据库操作
1、创建数据库
CREATE DATABASE database-name
2、删除数据库
drop database dbname
3、备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
三、数据表操作
1、创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
2、删除新表
drop table tabname
3、增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
4、主键
-
添加主键:
Alter table tabname add primary key(col)
-
删除主键:
Alter table tabname drop primary key(col)
5、索引
-
创建索引:
create [unique] index idxname on tabname(col….)
-
删除索引:
drop index idxname
-
注:索引是不可更改的,想更改必须删除重新建。
6、视图
-
创建视图:
create view viewname as select statement
-
删除视图:
drop view viewname
四数据操作
基本操作
-
查询
SELECT 列名1,列名2 FROM 表名 WHERE 列名1 运算符 值
-
增加
INSERT INTO 表名称 VALUES (值1, 值2,....) //插入全部列 INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) //插入指定列
-
删除
DELETE FROM 表名称 WHERE 列名称 = 值
-
修改
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
高级查询
-
TOP查询(TOP)
SELECT TOP num 列名1,列名2 FROM 表名 WHERE 列名1 运算符 值
-
模糊查询(LIKE)
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern
-
查询指定的多个值(IN)
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
-
查询介于两个值之间(BETWEEN)
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2
-
分组查询(GROUP BY)
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name
-
分组之后的条件查询HAVING 子句
SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value
-
排序ORDER BY 语句
SELECT Company, OrderNumber FROM Orders ORDER BY Company ORDER BY 语句用于根据指定的列对结果集进行排序。 ORDER BY 语句默认按照升序对记录进行排序。 如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
存储过程
-
创建存储过程
CREATE PROCEDURE Get_Data ( @Dealer_ID VARCHAR(50) ) AS SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID
-
修改存储过程
ALTER PROCEDURE [dbo].[Get_Data] ( @Dealer_ID VARCHAR(50) ) AS SELECT * FROM myData WHERE Dealer_ID = @Dealer_ID
网友评论