sql回顾而知新

++++++++++++++++++++++++++++++++++++++

1.数据库的 数据类型: int ,decimal ,money,varchar(20)

差不多 就可以包含所有的 事务类型

对于 日期 就是 datatime,2001-01-02

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2. 实体约束的问题,就是  primary key ,identity,not null,

默认值: addr  varchar(10) not null default ‘中国‘,

stuNo int identity(1001,1) primary key,--主键

外键约束: classId int foreign key references Tb_class(stuNo)--其他的表的主键作为 外键

取值约束,    age int check (age>=10 and age<20)

++++++++++++++++++++++++++++++++++++++++++++++++++++

3.操作语言:

部分插入    insert  T_stu(f_name,f_sex) values(‘马云‘,‘男‘)

全部插入  insert T_stu values(25,‘电气‘,‘马云‘,‘男‘,2001-11-14)

删除: delete from T_stu where name=‘马云‘

删除记录: truncate table student

更改: update T_stu set name=‘马玉华‘ where name=‘马云‘

++++++++++++++++++++++++++++++++++++++++++++++++++++

4.基本查询

select  list_xx  into new_table

from T_xx, T_XXX  可以是一个表或者是多个表

where 条件  group by 列名 必须是 前面会出现的

having 已经分组的 表 又加 条件必须 是 组列中 的一个

order by XX asc/desc 就是根据 其 排序

++++++++++++++++++++++++++++++++

*** select * from teacher age>40

where DName in (‘计算机‘,‘电气‘)

**** CName like ‘%气‘

_ 表示一个 字符

__表示 两个   like‘ [计电]’ 就是 只要 有 任意的一个 字出现就行

+++++++++++++++++++++++++++++++

5.聚合函数

通常要和 分组命令 一起使用

1.选中的 列的 总数        sum(sal) as 工资总数 from  teacher where age>40

2. 列中值得 个数     count(*) from teacher where sex=‘女‘--所有女教师的人数

3.某一列中 的 最大 最小  max(age)from TT where sex=‘男‘

年龄最大 男 教师的  信息

select * from teacher where age=(select max(age) from TT where sex=‘男‘)

4. 平均年龄的 avg(age)

++++++++++++++++++++++++++++++++++++++++++++++

时间: 2024-11-09 00:51:05

sql回顾而知新的相关文章

sql回顾而知新2高级编程

+++++++++++++++++++++++++++++++++++++++++++ 1.T_sql的变量 根据出生日期 找出 年龄,datadiff(yy,birth,getdate()) 声明 table类型declare @mytable  table(name varchar(20),no int) 赋值: insert @mytable select 'mayun',20 union select 'bier',32 表 插入表   insert into phone select

回顾与知新

1.content like "你%"表示以你开头的所有content content like "你_"表示以你开头的两个字 2.where表示在分组前过滤 having表示在分组后过滤 3.文档注释 /**    */ 4.sort(降序)值排序,不会保存键 rsort(升序)值排序,不会保存键 assort(降序)值排序,保持索引关系 arsort(升序)值排序,保持索引关系 ksort(降序)键名排序 krsort(升序)键名排序 规律:没有r的都表示升序,

SQL Server 2012 T-SQL 新特性

原文:SQL Server 2012 T-SQL 新特性 序列 Sequence SQL Server 现在将序列当成一个对象来实现,创建一个序列的例子语法如下: CREATE SEQUENCE DemoSequence START WITH 1 INCREMENT BY 1; 使用序列的方法如下所表达的: SELECT VALUE FOR DemoSequence 序列与以前的种子列(identity)的区别很明显,种子列只限于当前列,而序列是一个对象层面的实现,则可以在多个表之间共享.这一点

SQL Server 2016 -&gt;&gt; T-SQL新特性

1) TRUNCATE表分区而不是整表 CREATE TABLE dbo.TruncatePartitionTest ( PrtCol INT, Col2 NVARCHAR(300) ) ON [myPS1](PrtCol) GO INSERT dbo.TruncatePartitionTest VALUES(1,'AAA'), (11,'AAA'), (100,'AAA'), (101,'AAA') GO -- TRUNCATE partitions 1 to 2 TRUNCATE TABLE

Sql Server 2012 的新分页方法分析(offset and fetch) - 转载

最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的 其中 offset and fetch 最重要的新特性是 用来 分页,既然要分析 分页,就肯定要和之前的分页方式来比较了,特别是 Row_Number() 了,在比较过程中,发现了蛮多,不过最重要的,通过比较本质,得出了优劣,也和大家一起分享下. 准备工作,建立测试表:Article_Detail,主要是用来存放一些

sql sever 2017创建新用户方法

1.打开SQL Sever 2017配置管理工具并启用 2.打开SQL Sever 2017 Management Studio 3.用默认用户名(或用户名为"."代表本机)和windows验证方式登陆 4.安全性->用户名->右键->新建用户 5.断开,重新登陆就可以用新的用户名密码登陆了 但是大多数会发现新的用户名根本登陆不上去,会出现以下18456错误. 那是因为第一次登陆还需要更改一些地方,请大家点下面链接:https://www.cnblogs.com/ld

sql回顾

sql(structured query language) 1.比较运算符一共有六种,分别为等于(=),小于(<),大于(>),小于或等于(<=),大于或等于(>=)以及不等于(<>),其中小于或等于和大于或等于 2.逻辑运算符一种有三种,与(AND),或(OR),非(NOT) 3.运算符是有优先级的,优先级由大到小排列是比较运算符>于(And)>非(Or) 4.SQL提供了IS NULL来表明未知这个选项:where Gender IS NULL 5.O

温故而后知新——对ado.net中常用对象的一些解释

在使用ado.net连接数据库获取数据,一般的步骤是: 1.设置好web.config    //用来设置服务器数据库的地址以及登录名密码 2.创建Connection对象    //用来创建访问数据库的连接 3.创建Command对象    //用来发送命令(写sql语句) 4.用DataReader获取数据    //获取数据库数据 5.利用DataSet储存获取到的数据    //容器 6.关闭Connection对象和DataReader/DataAdapter的连接  //为了性能,不

Oracle sql优化必知——表的访问

<访问数据的方法> 访问表中的数据有两种:1.直接访问表   2.先访问索引,再回表 1.直接访问表的两种方法: ①.全表扫描 全表扫描是指Oracle在访问目标表的数据时,会从该表所占用的第一个区(extent)的第一个块(block)开始扫描,一直扫描到该表的高水位线,这段范围内的所有数据库都必须读到,当然如果目标sql的where中指定的过滤条件,最后只返回满足条件的数据即可:(有时候全表扫描的效率还是非常高的,但是随着表的数据增多 资源消耗也会在逐步增加) ②.rowid扫描 rowi