数据库常用基础知识
W3C数据库基础链接:
http://www.w3school.com.cn/sql/sql_create.asp
sql中的 开窗函数over() 聚合函数 排名函数
https://www.cnblogs.com/nihaoyueyue/p/5894588.html
1. 创建一个数据库:
CREATE TABLE Person
(
[MID] [uniqueidentifier] default(newid()) NOT NULL,
[MailTo] [varchar](80) NULL,
[SendDate] [datetime] NULL,
PRIMARY KEY (MID)
)
2. 数据库新增表时授权:
grant select,insert,delete,update on Person to User
3. INSERT INTO 语句用于向表格中插入新的行:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
4. ALTER TABLE 语句用于在已有的表中添加、修改或删除列:
4.1 在表中添加列:
ALTER TABLE table_name ADD column_name datatype
4.2 删除表中的列:
ALTER TABLE table_name DROP COLUMN column_name
4.3 改变表中列的数据类型:
ALTER TABLE table_name ALTER COLUMN column_name datatype
5. Update 语句用于修改表中的数据:
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
6. DELETE 语句用于删除表中的行:
DELETE FROM 表名称 WHERE 列名称 = 值
7. 游标循环插入数据:
--循环插入数据
declare @RoleID varchar(50)
DECLARE AutoInsertRow CURSOR FOR
SELECT distinct RoleID FROM Table where RoleID = 'aaa'
OPEN AutoInsertRow;
FETCH NEXT FROM AutoInsertRow into @RoleID;
WHILE @@FETCH_STATUS = 0
BEGIN
insert into Table(RoleID,ID,AccessMode,Status,Operator) select top 2 @RoleID, ID, 2, '01','SysAdmin' from otherTable order by CreateDate desc
FETCH NEXT FROM AutoInsertRow into @RoleID;
END
CLOSE AutoInsertRow
DEALLOCATE AutoInsertRow