1、关于在数据库中创建表的知识。 truncate table ..初始化表。
创建表:create table t_person(id int null,name nvarchar(50) not null,age int null)
删除表:drop table t_person
往表中插入内容:insert into t_person(id,name,age) values (1',jim',20) 前后小括号的内容是对应的。
更新表中的一个列:update t_person set age=30 意思是将**中的年龄那一列都更新成30岁。
更新表中的多个列:update t_person set age=30,name='tom' 意思是将**中的年龄那一列都更新成30岁,将**中的姓名那一列都更新成tom,更新一部分数据:update t_person set age=30 where name='jim' 意思是只更新name是jim的那一行。
update t_person set age=30 where name=n'李伟' or age<25 意思是只更新name是李伟或者年龄是小于25的那一行。(注释:在sql语句**现了中文应在前面加个n。
)where中还可以使用其他的逻辑运算符:or(或者), and (并且), not(不是) ,
补充:在sql语句中生成 guid 的方法是:select newid()
在c#(.net)中生成 guid 的方法是:guid id =
数据删除:删除表中的全部数据:delete from person1 (注释:delete只是删除表中的数据表还在,与drop table不同)
delete 也可以带where字句删除表中的一部分数据:delete from person1 where age>20
数据检索:简单的数据检索:select * from person1 (注释:* 表示全部)
只检索需要的列:select number from person1
列别名:select number as 编号,name as 姓名 from person1
使用where检索符合条件的数据:select name from person1 where salary<5000
还可以检索不与任何表相关的数据:select 1+1 select newid() select getdate()
数据汇总:sql的聚合函数:max(最大值) min(最小值) **g(平均值) sum(求和) count(数量)
eg.大于25岁的员工的最高工资:select max(salary) from person where age>25
最低工资:select min(salary) from person
表的数据个数:select count (*from person
所有人的工资和:select sum(salary) from person
数据排序:eg.
按年龄排序:select * from person order by age
select * from person order by age asc :升序
select * from person order by age desc:降序。
按年龄排序,如果年龄相同在按工资排序:select * from person order by age asc,salary asc
order by 字句必须放到where字句之后:
eg.select *from person1 where age>20 order by age asc,salary asc :给年龄大于20的先以年龄排序如果有年龄相等的在按照工资排序。
通配符过滤:
通配符过滤使用like
单字符匹配的通配符为半角下划线_ ,它匹配单个出现的字符。
eg.以任意字符开头剩余部分为erry : select * from person where name like'_erry'
多字符匹配的通配符为半角百分号%,它匹配任意次数(零或多个)出现的任意字符。
eg.k% :匹配以k开头任意长度的字符串。
检索姓名中包含字母n的员工信息:select * from person where name like'%n%'
空值处理:数据库中,一个列如果没有指定值,那么值为null,这个null和c#中的null都表示为“不知道”而不是没有。因此select null+1 的结果为null,因为不知道+1 的结果还是不知道。
select * from person where name =null
这两句都没有返回值。
select * from person where name =!null
sql中使用is null, is not null 来进行控制判断。
select * from person where name is null
select * from person where name is not null
多值匹配:eg.
select * from person where age in (23,25,28) :检索出年龄为23,25,28的数据。
select * from person where age between 20 and 30 :检索出年龄在20和30之间的数据。
select * from person where age>20 and age<30 :检索出年龄在20和30之间的数据。 (常用)
数据分组:eg.
按照年龄进行分组统计各个年龄段的人数并将年龄列出来:select age,count(*)from person group by age
按照年龄进行分组统计各个年龄段的人数:select count (*from person group by age
group by 字句必须放到where语句之后没有出现在group by 子句中的列不能放到select语句后的列名列表中。(聚合函数除外)
eg.select age,salary from person group by age :错误 group by 后面没有出现salary所以select后面不能有。
select age,**g(salary) from person group by age :正确 **g是聚合函数。
h**ing语句。
聚合函数不能使用在where中但能使用在h**ing中;h**ing要位于group by 之后。
h**ing中不能使用未参数分组的列。
eg. select age from person where count(*)1 group by age :错误聚合函数不能使用在where中。
select age from person group by age h**ing count(*)1 :正确。
sql语法
知识要点 1 transact sql运算符 1 算术运算符。注 null与任何值运算结果为null。运算可用于datetime型数据。2 字符串运算符。3 比较运算符。逻辑常量 ture false。4 逻辑运算符。not 非 and 与 or 或 between 指定范围 like 模糊匹配 5...
SQL语法
distinct 输出唯一值。select distinct from where between and 介于某一范围的数据。where 某行 between and in 属于某一子集合的数据。where 某行 in substring expression 开始位 长度 选取字符串。selec...
SQL语法
一 create table 数据表是数据库中储存数据的基本架构。举例来说,如果我们有一个记载顾客数据的数据表,那字段包括姓名 地址 城市 国家 生日 等等。当我们对数据表下定义时,我们需要注明字段名称,以及那个字段的类型。字段类型可能是一个整数 例如 1 一个实数 例如 0.55 一个字符串 例如...