时间:2021-07-01 10:21:17 帮助过:2人阅读
USE AdventureWorks GO CREATE TABLE Stores ( StoresCode char(4) NOT NULL Primary KEY, Name nvarchar(40) NOT NULL, Address nvarchar(20) NULL, City nvarchar(20) null, State char(2) DEFAULT(‘0‘) NOT NULL, Zip Char(5) NOT NULL ) CREATE TABLE Sales ( OrderNumber Varchar(20) not null primary key, StoresCode char(4) FOREIGN KEY REFERENCES Stores(StoresCode) not null , OrderDate datetime default(getdate()) not null, Quantity int not null, Terms Varchar(12) not null, TitleID int not null )
试一试:插入一条数据(可以直接后面写要添加数据要与数据表的列名相对应)
INSERT INTO Stores Values(‘Test‘,‘Test Stores‘,‘China‘,‘ShenZhen‘,‘0‘,‘100000‘)
第一次插入值正确第二次错误:违反了 PRIMARY KEY 约束 ‘PK__Stores__6F4A8121‘。不能在对象 ‘dbo.Stores‘ 中插入重复键。后面博客会专门讲键和约束。
我在对插入一条数据做下修改:
INSERT INTO Stores(StoresCode,Name,City,Zip)Values(‘tes2‘,‘Test Store‘, ‘Here‘,‘10000‘)
可以注意到插入SQL语句:少了address,state 插入,列设置为NULL值可以忽略提供该列的值。如果列不能设置null。则必须为下面3个条件之一,否则系统会提示错误。INSERT 终止命令被拒绝执行。
1.列定义默认值,默认值是未提供插入值会自动插入一个常量值。(后面键与默认值会说这个问题)2.列定义为接受某种形式系统生成值,最常用的生成值是为IDENTITY值。3插入数据已经提供该列的值。
批量插入数据:
INSERT INTO Stores(StoresCode,Name,City,Zip) VALUES(‘tes5‘,‘Test Stores‘,‘bj‘,‘10000‘), (‘tes4‘,‘Test Stores‘,‘bj‘,‘10000‘); --(2 行受影响)这是sql server 2008数据库添加新功能
INSERT INTO .....SELECT 语句:
语法:INSERT INTO <table_name>[column list] <select statement>
CREATE TABLE #temp ( ID char(4) not null, name nvarchar(20) not null ) INSERT INTO #temp SELETE StoresCode,Name FROM Stores SELECT * FROM #temp --结果 --tesT Test Store --tes3 Test Stores --tes5 Test Stores --Test Test Stores
UPDATE 语句更改获取得到的数据
语法:UPDATE <table name> SET <column>=<value>[,column=value] [FROM <source tables>] [WHERE <restrictive condition> ]
UPDATE Stores SET State=‘1‘ --4条受影响(成功更新了4条数据) UPDATE Stores SET State=‘0‘ WHERE StoresCOde=‘tes2‘ --1条受影响
DELETE 语句
删除语句非常简单,语法:DELETE <table name> [WHERE < condition> ]
DELETE Stores --删除所有数据 DELETE Stores WHERE StoresCode=‘test‘--删除StoresCode=‘test‘数据
SQL入门经典(二) 之数据库基本查询、添加、更新和删除
标签: