使用SQLserver 2005创建表,表名为Table_a,属性包括:姓名、性别、年龄、联系方式、工资的命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用SQLserver 2005创建表,表名为Table_a,属性包括:姓名、性别、年龄、联系方式、工资的命令相关的知识,希望对你有一定的参考价值。
使用SQLserver 2005创建表,表名为Table_a,属性包括:姓名、性别、年龄、联系方式、工资的命令~~
谢谢来图!~
drop table Table_a
go
create table Table_a
(
姓名 varchar(20) primary key,--主键
性别 bit,--只能存储0或1,以0来表示男,1表示女,反过来也可以.
年龄 tinyint,
联系方式 varchar(50),
工资 smallmoney
)
go
直接把上面的代码复制。把姓名,性别....等改为你想要的英文就可以了 参考技术A CREATE TABLE [dbo].[Table_a](
[姓名] [nvarchar](50) NULL,
[性别] [nvarchar](50) NULL,
[年龄] [int] NULL,
[联系方式] [nvarchar](50) NULL,
[工资] [int] NULL
) ON [PRIMARY] 参考技术B create table 员工
(
姓名 varchar(20) primary key,
性别 bit,--只能存储0或1,以0来表示男,1表示女,反过来也可以.
年龄 tinyint,
联系方式 varchar(50),
工资 smallmoney
)
--建立表一般采用最合适的数据类型,最小的存储空间。 参考技术C CREATE TABLE [dbo].[Table_a](
[姓名] [nvarchar](50) NULL,
[性别] [nvarchar](50) NULL,
[年龄] [int] NULL,
[联系方式] [nvarchar](100) NULL,
[工资] [numeric](10,4) NULL
) ON [PRIMARY] 参考技术D create table Table_a
(
姓名 varchar(20) primary key,
性别 bit,
年龄 tinyint,
联系方式 nvarchar(50),
工资 numeric(23,4)
)
姓名是主键。。
SqlServer 经常使用分页方法总结
SqlServer 经常使用分页方法总结
以下演示样例总结了,SqlServer数据库 经常使用分页方法,仅供学习參考
A、 使用 RowNumber 和 Between And 组合分页:
/********** 使用 RowNumber 和 Between And 组合分页 **********/ CREATE PROC proc_FuzzySearchAndPaging @pageIndex int, --页索引 @pageSize int, --页大小 @SearchKey Nvarchar(10), --查询keyword @TotalCount int OutPut --总数据条数 AS BEGIN --查询 当前页 数据 SELECT * FROM( SELECT *,[NO]=ROW_NUMBER() OVER(ORDER BY s.s_id DESC) FROM StuInfo s WHERE s.s_name Like(‘%‘[email protected]+‘%‘) ) t WHERE t.[NO] BETWEEN @pageSize*(@pageIndex-1)+1 AND @pageIndex*@pageSize ORDER BY t.s_id DESC --总数据条数 SELECT @TotalCount = COUNT(*) FROM StuInfo s WHERE s.s_name Like(‘%‘[email protected]+‘%‘) END GO
B、使用 TOP 和 NOT IN 组合分页:
/********** 使用 TOP 和 NOT IN 组合分页 **********/ CREATE PROC proc_FuzzySearchAndPaging2 @PageIndex int, --当前页索引 @PageSize int, --每页显示的数据条数 @FuzzyKey Nvarchar(20), --模糊匹配的keyword @Count int OUTPUT --总数据条数(用来推断要分多少页) AS BEGIN SELECT TOP(@PageSize) * FROM StuInfo s WHERE s.s_name LIKE(‘%‘[email protected]+‘%‘) AND s.s_id NOT IN( SELECT TOP((@PageIndex-1)*@PageSize) s.s_id FROM StuInfo s WHERE s.s_name LIKE(‘%‘[email protected]+‘%‘) ORDER BY s.s_id DESC ) ORDER BY s.s_id DESC --总数据条数 SELECT @Count=COUNT(*) FROM StuInfo s WHERE s.s_name LIKE(‘%‘[email protected]+‘%‘) END GO
C、使用 Linq 的 Skip 和 Take 组合分页:
/// <summary> /// 分页 /// </summary> /// <param name="key">查询keyword</param> /// <param name="pageIndex">页索引</param> /// <param name="pageSize">页大小</param> /// <param name="pageCount">总页数</param> /// <returns></returns> public IList<EA_Script> FuzzyPaging(String key, int pageIndex, int pageSize, ref int pageCount) { var query = from e in dc.EA_Script where e.FName.Contains(key) orderby e.Id descending select e; //总页数 pageCount = query.Count() % pageSize == 0 ? (query.Count() % pageSize) : query.Count() / pageSize + 1; return query.Skip(pageIndex - 1).Take(pageSize).ToList(); }
如有,更好方法欢迎拿出来分享!
扩充:分页时,能够充分借助 暂时表 和 WITH AS 语句提高查询效率
WITH AS语句演示样例:
DECLARE @SearchKey Nvarchar(10) --查询keyword WITH t AS( SELECT * FROM StuInfo s WHERE s.s_name Like(‘%‘[email protected]+‘%‘) )
暂时表 语句演示样例:
DECLARE @SearchKey Nvarchar(10) --查询keyword SELECT * INTO #temp2 FROM ( SELECT * FROM StuInfo s WHERE s.s_name Like(‘%‘[email protected]+‘%‘) ) u
MySQL 分页
SELECT u.* FROM users AS u LIMIT ($pIndex-1)*$pSize,$pIndex*$pSize;
以上是关于使用SQLserver 2005创建表,表名为Table_a,属性包括:姓名、性别、年龄、联系方式、工资的命令的主要内容,如果未能解决你的问题,请参考以下文章
在sql server 2005中使用表数据创建脚本文件[重复]
Sql Server 2005 - 插入更新触发器 - 获取更新,插入行
SQL Server 2005中的分区表:将已分区表转换成普通表