sql语法学习(适合新手)
1.插入数据
语法格式: INSERT [INTO] <表名> [列名] VALUES <值列表>
insert into students(sname,saddress,sgrade,semall,ssex) values(‘张青‘,‘上海松江‘,6,‘[email protected]‘,0)
1.1 一次插入多条数据
通过insert select 语法来插入数据
INSERT INTO test(UserID,UserName,passwd,Cellphone) --test表必须提前创建好
SELECT UserID,UserName,password,Cellphone FROM dbo.[User] --查询现有的表里面数据,插入到test表中
通过 select insert 语法来插入数据(和上一句的区别是此处表不用提前创建好)
SELECT TOP 40 UserID,UserName,password,Cellphone INTO test1 --可以不用提前创建表
FROM dbo.[User]
通过UNION关键字合并数据行插入
insert students(sname,sgrade,ssex)
select ‘测试女生1‘,7,0, nuion
select ‘测试女生2‘,7,0, nuion
select ‘测试女生3‘,7,0, nuion
select ‘测试女生4‘,7,0, nuion
select ‘测试女生1‘,7,0, nuion
select ‘测试女生2‘,7,1, nuion
select ‘测试女生3‘,7,1, nuion
select ‘测试女生4‘,7,1, nuion
select ‘测试女生5‘,7,1
2. 更新数据
语法格式:UPDATE <表名> SET <列名=更新值> [WHERE <更新条件>]
uptate student set name=‘张三‘ where id=1
3.删除数据
语法格式: DELETE FROM <表名> [WHERE<删除条件>]
delete from student where id =1
*注意: delete 删除只会删除表中的数据,并不会删除表中的结构,包括主键什么之类的
4. 查询数据
语法格式:SELECT <列名> FROM <表名> [WHERE <查询条件表达式>] [ORDER BY <排序的列名> [ASC或 DESC]] --默认 ASC升序
a.查询所有的数据行和列
select * from students
b.查询部分行列----条件查询
select scode,sname,saddress from students where saddress=‘河南新乡‘
select scode,sname,saddress form students where saddress<>‘河南新乡‘
c.在查询中使用列名
select scode as 学员编号,sname as 学员姓名,saddress as 学员地址 from students where saddress<>‘河南新乡‘
select firstname+‘.‘+lastname as ‘姓名‘ from employees
select ‘姓名‘=firstname+‘.‘+lastname from employees
d.查询空行 用IS NULL 或者 IS NOT NULL 来判断是否为空行
select sname from students where semail is null
e.在查询中使用常量列 将常量的科缺省信息添加到查询输出中
select 姓名=sname,地址=saddress,‘河北新龙‘ as 学校名称 from students
f.查询返回限制的行数
TOP select top 5 sname,saddress from students where ssex=0 select top 20 percent sname,saddress --按百分比 from students where ssex=0