数据MSSQL快速生成100行数据的简便方法(mssql 生成100行)
MSSQL数据库是大家常用的数据库形式之一,提升工作效率通常需要对数据进行测试,这里介绍一种快速生成100行数据的简便方法——静态数据表示法。
静态数据表示法能快速生成100行MSSQL数据,节省时间又不失准确性。假如我们想在“product”表中生成100条示例数据,可以使用如下的SQL语句:
“`SQL
CREATE Table [Product](
[ProductID] [int] IDENTITY(1,1) NOT NULL,
[ProductName] [varchar](50) NULL
)
INSERT INTO [Product] ([ProductName])
VALUES
(‘book’),
(‘notebook’),
(‘pencil’),
(‘pen’),
(‘eraser’),
(‘scissers’),
(‘monitor’),
(‘keyboard’),
(‘mouse’),
(‘printer’),
(‘desk’),
(‘chair’),
….
….
….
(‘100th item’);
从上面的SQL语句可以看出,我们为Product表增加一个自增列ProductID,同时插入ProductName应有的值,就可以生成100行示例数据了。我们可以根据需要修改不同的值,比如上例中示例数据是关于文具,如果要改成食物,则将ProductName相应的项改成食物即可:
```SQLINSERT INTO [Product] ([ProductName])
VALUES('apple'),
('banana'),('orange'),
('strawberry'),('cherry'),
('grape'),('lemon'),
('peach'),('watermelon'),
('pineapple'),('papaya'),
('avocado'),....
........
('100th item');
另外,MSSQL中还支持更简便的写法,见下SQL语句:
“`SQL
;WITH Product_CTE — 这里定义了一个叫Product_CTE的表达式
AS
(SELECT
ROW_NUMBER() OVER(ORDER BY [ProductID]) AS [ProductID],
‘Product ‘ + Convert(Varchar(50), ROW_NUMBER() OVER(ORDER BY [ProductID])) as [ProductName]
FROM master..spt_values
)
INSERT INTO [Product]
SELECT * FROM Product_CTE
这段SQL语句能实现同样的功能,但是数字从1开始,可读性会有所减低,使用根据应用场景合理定义来自表达式,能更快更容易的完成任务。
总而言之,MSSQL数据库通过静态数据表示法,能快速生成100行数据,这是使用MSSQL提升工作效率的一种不可或缺的方法。