写在前面:最近在上海找工作,前前后后面试了N家单位,发现各个公司对程序员的数据库知识尤其是SQL语句的掌握程度有很高的要求,作为一名光荣的程序员,不会玩儿SQL语句走在街上根本不好意思和人打招呼!好了,废话不多说,新手菜鸟同志们了注意了,这篇文章提供的例子很简单,但是也很重要,请认真练习!别等到面试的时候被某些人嘲讽"唉!这年头,会写SQL语句的程序员越来越少了!L"老鸟高手同志们,你们可以优雅地飘过,但是有什么意见或建议都要提出来哦,大家一起进步嘛J,让菜鸟变成高手,提高我国的编程水平。
创新互联专注于企业成都全网营销、网站重做改版、镶黄网站定制设计、自适应品牌网站建设、html5、商城系统网站开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为镶黄等各大城市提供网站开发制作服务。
1、DDL(数据定义语言)
1)创建数据表
- --创建数据表
- create table Test(Id int not null, Age char(20));
- --创建数据表
- create table T_Person1(Id int not null,
- Name nvarchar(50),
- Age int null);
- --创建表,添加外键
- Create table T_Students(
- StudentNo char(4),
- CourseNo char(4),
- Score int,
- Primary key(StudentNo),
- Foreign key(CourseNo) References T_Course(CourseNo)
- );
2)修改表结构
- --修改表结构,添加字段
- Alter table T_Person add NickName nvarchar(50) null;
- --修改表结构,删除字段
- Alter table T_Person Drop NickName;
3)删除数据表
- --删除数据表
- Drop table T_Person;
- --删除数据表
- drop table test
4)创建索引
- Create [Unique] Index <索引名> on <基本表名>(<列明序列>);
2、DML(数据操纵语言)
1)插入语句
- insert into T_Person1(Id,Name,Age) values(1,'Vicky',20)
- --插入一条据数,字段和值必须前后对应
- insert into T_Preson1(Id,Name,Age) values(2,'Tom',19)
- insert into T_Person1(Id,Name,Age) values(4,'Jim',19)
- insert into T_Person1(Id,Name,Age) values(5,'Green',20)
- insert into T_Person1(Id,Name,Age) values(6,'Hanmeimei',21)
- insert into T_Person1(Id,Name,Age) values(7,'Lilei',22)
- insert into T_Person1(Id,Name,Age) values(8,'Sky',23)
- insert into T_Person1(Id,Name,Age) values(newid(),'Tom',19)
2)更新语句
- --修改列,把所有的age字段改为30
- update T_Person1 set age=30
- --把所有的Age字段和Name字段设置为...
- update T_Person1 set Age=50,Name='Lucy'
- update T_Person1 set Name='Frankie' where Age=30
- update T_Person1 set Name=N'中文字符' where Age=20
- --中文字符前面最好加上N,以防出现乱码
- update T_Person1 set Name=N'成年人' where Age=30 or Age=50
3)删除语句
- delete from T_Person1
- --删除表中全部数据
- delete from T_Person1 where Name='Tom'
- --根据条件删除数据
4)查询语句
查询语句非常强大,几乎可以查任意东西!
- -----------------
- ---- 数据检索 -----
- -----------------
- --查询不与任何表关联的数据.
- SELECT 1+1; --简单运算
- select 1+2 as 结果
- SELECT newid();--查询一个GUID字符创
- select GETDATE() as 日期 --查询日期
- --可以查询SQLServer版本
- select @@VERSION as SQLServer版本
- --一次查询多个
- select 1+1 结果, GETDATE() as 日期, @@VERSION as 版本, NEWID() as 编号
- --简单的数据查询.HelloWorld级别
- SELECT * FROM T_Employee;
- --只查询需要的列.
- SELECT FNumber FROM T_Employee;
- --给列取别名.As关键字
- SELECT FNumber AS 编号, FName AS 姓名 FROM T_Employee;
- --使用 WHERE 查询符合条件的记录.
- SELECT FName FROM T_Employee WHERE FSalary<5000;
- --对表记录进行排序,默认排序规则是ASC
- SELECT * FROM T_Employee ORDER BY FAge ASC,FSalary DESC;
- --ORDER BY 子句要放在 WHERE 子句之后.
- SELECT * FROM T_Employee WHERE FAge>23 ORDER BY FAge DESC,FSalary DESC;
- --WHERE 中可以使用的逻辑运算符:or、and、not、<、>、=、>=、<=、!=、<>等.
- --模糊匹配,首字母未知.
- SELECT * FROM T_Employee WHERE FName LIKE '_arry';
- --模糊匹配,前后多个字符未知.
- SELECT * FROM T_Employee WHERE FName LIKE '%n%';
- --NULL 表示"不知道",有 NULL 参与的运算结果一般都为 NULL.
- --查询数据是否为 NULL,不能用 = 、!= 或 <>,要用IS关键字
- SELECT * FROM T_Employee WHERE FName IS NULL;
- SELECT * FROM T_Employee WHERE FName IS NOT NULL;
- --查询在某个范围内的数据,IN 表示包含于,IN后面是一个集合
- SELECT * FROM T_Employee WHERE FAge IN (23, 25, 28);
- --下面两条查询语句等价。
- SELECT * FROM T_Employee WHERE FAge>=23 AND FAge<=30;
- SELECT * FROM T_Employee WHERE FAge BETWEEN 23 AND 30;
- ----创建一张Employee表,以下几个Demo中会用的这张表中的数据
- ----在SQL管理器中执行下面的SQL语句,在T_Employee表中进行练习
- create table T_Employee(FNumber varchar(20),
- FName varchar(20),
- FAge int,
- FSalary Numeric(10,2),
- primary key (FNumber)
- )
- insert into T_Employee(FNumber,FName,FAge,FSalary) values('DEV001','Tom',25,8300)
- insert into T_Employee(FNumber,FName,FAge,FSalary) values('DEV002','Jerry',28,2300.83)
- insert into T_Employee(FNumber,FName,FAge,FSalary) values('SALES001','Lucy',25,5000)
- insert into T_Employee(FNumber,FName,FAge,FSalary) values('SALES002','Lily',25,6200)
- insert into T_Employee(FNumber,FName,FAge,FSalary) values('SALES003','Vicky',25,1200)
- insert into T_Employee(FNumber,FName,FAge,FSalary) values('HR001','James',23,2200.88)
- insert into T_Employee(FNumber,FName,FAge,FSalary) values('HR002','Tom',25,5100.36)
- insert into T_Employee(FNumber,FName,FAge,FSalary) values('IT001','Tom',28,3900)
- insert into T_Employee(FNumber,FAge,FSalary) values('IT002',25,3800)
- --开始对T_Employee表进行各种操作
- --检索所有字段
- select * from T_Employee
- --只检索特定字段
- select FName,FAge from T_Employee
- --带过滤条件的检索
- select * from T_Employee
- where FSalary<5000
- --可更改显示列名的关键字as,as—起别名
- select FName as 姓名,FAge as 年龄,FSalary as 薪水 from T_Employee
#p#
1、精确数字类型
- bigint
- int
- smallint
- tinyint
- bit
- money
- smallmoney
2、字符型数据类型,MS建议用VarChar(max)代替Text
- Char
- VarChar
- Text
3、近似数字类型
- Decimal
- Numeric
- Real
- Float
4、Unicode字符串类型
- Nchar
- NvarChar
- Ntext
5、二进制数据类型,MS建议VarBinary(Max)代替Image数据类型,max=231-1
- Binary(n) 存储固定长度的二进制数据
- VarBinary(n) 存储可变长度的二进制数据,范围在n~(1,8000)
- Image 存储图像信息
6、日期和时间类型,数据范围不同,精确地不同
- DateTime
- SmallDateTime
7、特殊用途数据类型
- Cursor
- Sql-variant
- Table
- TimeStamp
- UniqueIdentifier
- XML
#p#
- --------------------------------------
- -----数据汇总-聚合函数---------
- --------------------------------------
- --查询T_Employee表中数据条数
- selectCOUNT(*)fromT_Employee
- --查询工资最高的人
- selectMAX(FSalary)asTop1fromT_Employee
- --查询工资最低的人
- selectMin(FSalary)asBottom1fromT_Employee
- --查询工资的平均水平
- selectAvg(FSalary)as平均水平fromT_Employee
- --所有工资的和
- selectSUM(FSalary)as总工资fromT_Employee
- --查询工资大于5K的员工总数
- selectCOUNT(*)astotalfromT_Employee
- whereFSalary>5000
- ------------------------------
- -----数据排序-------
- ------------------------------
- --按年龄排序升序,默认是升序
- select*fromT_Employee
- orderbyFAgeASC
- --多个条件排序,先什么,后什么,在前一个条件相同的情况下,根据后一个条件进行排列
- --where在orderby之前
- select*fromT_Employee
- orderbyFAgeASC,FSalaryDESC
- ------------------------------
- -----模糊匹配-------
- ------------------------------
- --通配符查询
- --1.单字符通配符_
- --2.多字符通配符%
- --以DEV开头的任意个字符串
- select*fromT_Employee
- whereFNumberlike'DEV%'
- --以一个字符开头,om结尾的字符串
- select*fromT_Employee
- whereFNamelike'_om'
- --检索姓名中包含m的字符
- select*fromT_Employee
- whereFNamelike'%m%'
- ------------------------------
- -----空值处理-------
- ------------------------------
- --null表示不知道,不是没有值
- --null和其他值计算结果是null
- selectnull+1
- --查询名字是null的数据
- select*fromT_Employee
- whereFNameisnull
- --查询名字不为空null的数据
- select*fromT_Employee
- whereFNameisnotnull
- --年龄是23,25,28中的员工
- select*fromT_Employee
- whereFAge=23orFAge=25orFAge=28
- --或者用in集合查询
- --年龄是23,25,28中的员工
- select*fromT_Employee
- whereFAgein(23,25,28)
- --年龄在20到25之间的员工信息
- select*fromT_Employee
- whereFAge>20andFAge<25
- --年龄在20到25之间的员工信息,包含25
- select*fromT_Employee
- whereFAgebetween20and25
- ------------------------------
- -----数据分组-------
- ------------------------------
- SelectFAge,COUNT(*)fromT_Employee
- groupbyFAge
- --1.根据年龄进行分组
- --2.再取出分组后的年龄的个数
- --注意:没有出现在groupby子句中的字段,不能出现在select语句后的列名列表中(聚合函数除外)
- --groupby必须出现在where后面
- SelectFAge,AVG(FSalary),COUNT(*)fromT_Employee
- groupbyFAge
- --错误用法
- SelectFAge,FName,COUNT(*)fromT_Employee
- groupbyFAge
- --加上where的groupby子句
- --groupby必须出现在where后面
- SelectFAge,AVG(FSalary),COUNT(*)fromT_Employee
- whereFAge>=25
- groupbyFAge
- --Having不能包含查不到的字段,只能包含聚合函数和本次查询有关的字段
- selectFAge,COUNT(*)fromT_Employee
- groupbyFAge
- HavingCOUNT(*)>1
- selectFAge,COUNT(*)fromT_Employee
- whereFSalary>2500
- groupbyFAge
- --HAVING子句中的列'T_Employee.FSalary'无效,因为该列没有包含在聚合函数或GROUPBY子句中
- --Having是对分组后信息的过滤,能用的列和select中能有的列是一样的。
- --因此,having不能代替where
- selectFAge,COUNT(*)fromT_Employee
- groupbyFAge
- HavingFSalary>2500
- ------------------------------
- -----确定结果集行数-------
- ------------------------------
- --取出所有员工的信息,根据工资降序排列
- select*fromT_Employee
- orderbyFSalaryDESC
- --取出前三名员工的信息,根据工资降序排列
- selecttop3*fromT_Employee
- orderbyFSalaryDESC
- --根据工资取出排名在6-8的员工信息,按工资降排列
- selecttop3*fromT_Employee
- whereFNumbernotin
- (selecttop5FNumberfromT_EmployeeorderbyFSalaryDESC)
- orderbyFSalaryDESC
- ---修改数据表,添加字段,更新字段的值等操作。
- altertableT_EmployeeaddFSubCompanyvarchar(20)
- altertableT_EmployeeaddFDepartmentvarchar(20)
- updateT_EmployeesetFSubCompany='Beijing',FDepartment='Development'
- whereFNumber='DEV001';
- updateT_EmployeesetFSubCompany='ShenZhen',FDepartment='Development'
- whereFNumber='DEV002';
- updateT_EmployeesetFSubCompany='Beijing',FDepartment='HumanResource'
- whereFNumber='HR001';
- updateT_EmployeesetFSubCompany='Beijing',FDepartment='HumanResource'
- whereFNumber='HR002';
- updateT_EmployeesetFSubCompany='Beijing',FDepartment='InfoTech'
- whereFNumber='IT001';
- updateT_EmployeesetFSubCompany='ShenZhen',FDepartment='InfoTech'
- whereFNumber='IT002'
- updateT_EmployeesetFSubCompany='Beijing',FDepartment='Sales'
- whereFNumber='SALES001';
- updateT_EmployeesetFSubCompany='Beijing',FDepartment='Sales'
- whereFNumber='SALES002';
- updateT_EmployeesetFSubCompany='ShenZhen',FDepartment='Sales'
- whereFNumber='SALES003';
- select*fromT_Employee
- ------------------------------
- ------去掉重复数据------
- ------------------------------
- --所有员工的部门信息
- selectDistinctFDepartmentfromT_Employee;
- selectFDepartment,FSubCompany
- fromT_Employee
- --以上两个例子结合起来比较,Distinct针对的是整行进行比较的
- selectDistinctFDepartment,FSubCompany
- fromT_Employee
- -----------------------------
- -----联合结果集Union--------
- ------------------------------
- --创建一个测试表T_TempEmployee,并插入数据
- CreateTableT_TempEmployee(FIdCardNumbervarchar(20),FNamevarchar(20),FAgeint,Primarykey(FIdCardNumber));
- insertintoT_TempEmployee(FIdCardNumber,FName,FAge)values('1234567890121','Sarani',33);
- insertintoT_TempEmployee(FIdCardNumber,FName,FAge)values('1234567890122','Tom',26);
- insertintoT_TempEmployee(FIdCardNumber,FName,FAge)values('1234567890123','Yamaha',38);
- insertintoT_TempEmployee(FIdCardNumber,FName,FAge)values('1234567890124','Tina',36);
- insertintoT_TempEmployee(FIdCardNumber,FName,FAge)values('1234567890125','Konkaya',29);
- insertintoT_TempEmployee(FIdCardNumber,FName,FAge)values('1234567890126','Foortia',29);
- select*fromT_TempEmployee
- --Union关键字,联合2个结果
- --把2个查询结果结合为1个查询结果
- --要求:上下2个查询语句的字段(个数,名字,类型相容)必须一致
- selectFName,FagefromT_TempEmployee
- union
- selectFName,FagefromT_Employee
- selectFNumber,FName,Fage,FDepartmentfromT_Employee
- union
- selectFIdCardNumber,FName,Fage,'临时工,无部门'fromT_TempEmployee
- ---UnionAll:不合并重复数据
- --Union:合并重复数据
- selectFName,FAgefromT_Employee
- unionall
- selectFName,FAgefromT_TempEmployee
- selectFAgefromT_Employee
- union
- selectFAgefromT_TempEmployee
- --注意:Union因为要进行重复值扫描,所以效率低,因此如果不是确定要合并重复,那么就用Unionall
- --例子:报名
- select'正式员工最高年龄',MAX(FAge)fromT_Employee
- unionall
- select'正式员工最低年龄',MIN(FAge)fromT_Employee
- unionall
- select'临时工最高年龄',MAX(FAge)fromT_TempEmployee
- unionall
- select'临时工最低年龄',MIN(FAge)fromT_TempEmployee
- --查询每位正式员工的信息,包括工号,工资,并且在最后一行加上员工工资额合计
- selectFNumber,FSalaryfromT_Employee
- unionall
- select'工资额合计',SUM(FSalary)fromT_Employee
#p#
- ------------------------------
- -----SQL其他内置函数------
- ------------------------------
- --1.数学函数
- --ABS():求绝对值
- --CEILING():舍入到最大整数
- --FLOOR():舍入到最小整数
- --ROUND():四舍五入
- selectABS(-3)
- selectCEILING(3.33)
- selectCEILING(-3.61)
- selectFLOOR(2.98)
- selectFLOOR(-3.61)
- selectROUND(-3.61,1)--第二个参数是精度,小数点后的位数
- selectROUND(-3.61,0)
- selectROUND(3.1415926,3)
- --2.字符串函数
- --LEN():计算字符串长度
- --LOWER(),UPPER():转大小写
- --LTRIM():去掉字符串左侧的空格
- --RTRIM():去掉字符串右侧的空格
- --SUBSTRING(string,start_positoin,length):
- --索引从1开始
- selectSUBSTRING('abc111',2,3)--结果是bc1
- selectFName,SUBSTRING(FName,2,2)fromT_Employee
- selectLEN('abc')--结果是3
- selectFName,LEN(FName)fromT_Employee
- --没有可以同时既去掉左边空格、又去掉右边空格的TRIM()内置函数,所以先左后右的进行TRim,当然,你也可以先右后左
- selectLTRIM('abc'),RTRIM('abc'),LEN(LTRIM(RTRIM('abc')))
- --3.日期函数
- --GETDATE():获取当前日期时间
- --DATEADD(datepart,numbre,date):计算增加以后的日期,
- --参数date为待计算的日期;参数number为增量;参数datepart为计量单位,时间间隔单位;
- --DATEDIFF(datepart,startdate,enddate):计算2个日期之间的差额
- --DATEPART(datepart,date):返回一个日期的特定部分,比如年月日,时分秒等.
- /*
- 值缩写(SqlServer)(Access和ASP)说明
- YearYyyyyy年1753~9999
- QuarterQqq季1~4
- MonthMmm月1~12
- DayofyearDyy一年的日数,一年中的第几日1-366
- DayDdd日,1-31
- WeekdayDww一周的日数,一周中的第几日1-7
- WeekWkww周,一年中的第几周0~51
- HourHhh时0~23
- MinuteMin分钟0~59
- SecondSss秒0~59
- MillisecondMs-毫秒0~999
- */
- selectDATEADD(DAY,3,getdate())
- selectDATEADD(MONTH,-3,getdate())
- selectDATEADD(HOUR,8,getdate())
- selectDATEDIFF(YEAR,'1989-05-01',GETDATE())
- selectDATEDIFF(HH,GETDATE(),DATEADD(DAY,-3,GETDATE()))
- --查询员工的工龄,年为单位
- selectFName,FInDate,DATEDIFF(year,FInDate,getdate())as工龄fromT_Employee
- --取出每一年入职员工的个数V1
- selectDATEDIFF(year,FInDate,getdate()),COUNT(*)
- fromT_Employee
- groupbyDATEDIFF(year,FInDate,getdate())
- --取出每一年入职员工的个数V2
- selectDATEPART(YEAR,FInDate),COUNT(*)
- fromT_Employee
- groupbyDATEPART(YEAR,FInDate)
- selectDATEPART(YEAR,GETDATE())
- selectDATEPART(MONTH,GETDATE())
- selectDATEPART(DAY,GETDATE())
- selectDATEPART(HH,GETDATE())
- selectDATEPART(MINUTE,GETDATE())
- selectDATEPART(SECOND,GETDATE())
- --4.类型转换函数
- --CAST(expressionasdata_type)
- --CONVERT(data_type,expression)
- selectCAST('123'asint),CAST('2010-09-08'asdatetime),
- CONVERT(datetime,'2010-09-08'),CONVERT(varchar(20),123)
- --5.空值处理函数isNull
- --ISNULL(expression,value)
- selectISNULL(FName,'佚名')as姓名fromT_Employee
- --6.CASE函数用法:
- --1.单值判断:相当于switch.case
- --CASEexpression
- --WHENvalue1thenreturnvalue1
- --WHENvalue2thenreturnvalue2
- --WHENvalue3thenreturnvalue3
- --ELSEdefault_return_value
- --END
- --判断客户类型
- selectFName,
- (
- caseFLevel
- when1then'普通客户'
- when2then'会员'
- when3then'VIP'
- else'未知客户类型'
- End
- )as客户类型
- fromT_Customer
- --收入水平查询
- selectFName,
- (
- case
- whenFSalary<2000then'低收入'
- whenFSalary>=2000andFSalary<=5000then'中等收入'
- else'高收入'
- end
- )as收入水平
- fromT_Employee
- --这里有一道关于CASE用法的面试题
- --表T中有ABC三列,用SQL语句实现:当A列大于B列时选择A列,否则选择B列;
- --当B列大于C列时选择B列,否则选择C列。
- select
- (
- case
- whena>bthenaelseb
- end
- ),
- (
- case
- whenb>cthenbelsec
- end
- )
- fromT
- ---------------------------------------
- selectFNumber,
- (
- case
- whenFAmount>0thenFAmount
- else0
- end
- )as收入,
- (
- case
- whenFAmount<0thenABS(FAmount)
- else0
- end
- )as支出
- fromT
- -----------------------------------------
- --球队比赛那个题
- --有一张表T_Scroes,记录比赛成绩:
- --DateNameScroe
- --2008-8-8拜仁胜
- --2008-8-9奇才胜
- --2008-8-8湖人胜
- --2008-8-10拜仁负
- --2008-8-8拜仁负
- --2008-8-12奇才胜
- --要求输出下面格式:
- --Name胜负
- --拜仁12
- --湖人10
- --奇才20
- --注意:在中文字符串前加N,比如N'胜'
- createtableT_Scores(
- [Date]datetimenullcollate
- [Name]nvarchar(50)
- )
- CREATETABLE[T_Scores]([Date][datetime]NULL,
- [Name][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL,
- [Score][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL
- );
- INSERT[T_Scores]([Date],[Name],[Score])VALUES(CAST(0x00009AF200000000ASDateTime),N'拜仁',N'胜');
- INSERT[T_Scores]([Date],[Name],[Score])VALUES(CAST(0x00009AF300000000ASDateTime),N'奇才',N'胜');
- INSERT[T_Scores]([Date],[Name],[Score])VALUES(CAST(0x00009AF300000000ASDateTime),N'湖人',N'胜');
- INSERT[T_Scores]([Date],[Name],[Score])VALUES(CAST(0x00009AF400000000ASDateTime),N'拜仁',N'负');
- INSERT[T_Scores]([Date],[Name],[Score])VALUES(CAST(0x00009AF200000000ASDateTime),N'拜仁',N'负');
- INSERT[T_Scores]([Date],[Name],[Score])VALUES(CAST(0x00009AF600000000ASDateTime),N'奇才',N'胜');
- select*fromT_Scores
- --列出第一个表格
- --统计每支队伍的胜负情况
- selectName,
- (
- caseScore
- whenN'胜'then1
- else0
- end
- )as胜,
- (
- caseScore
- whenN'负'then1
- else0
- end
- )as负
- fromT_Scores
- selectName,
- sum
- (
- caseScore
- whenN'胜'then1
- else0
- end
- )as胜,
- sum
- (
- caseScore
- whenN'负'then1
- else0
- end
- )as负
- fromT_Scores
- groupbyName
- --根据每个队的胜负判断出胜负的场数
#p#
- --题5)创建一张表,记录电话呼叫员的工作流水,记录呼叫员编号,对方号码,通话开始时间,通话结束时间,。
- --创建一张表T_Callers,记录电话呼叫员的工作流水,记录呼叫员编号、对方号码、通话开始时间、通话结束时间。建表、插数据等最后都自己写SQL语句。
- --要求:
- --1)输出所有数据中通话时间最长的5条记录。
- --2)输出所有数据中拨打长途号码(对方号码以0开头)的总时长。
- --3)输出本月通话总时长最多的前三个呼叫员的编号。
- --4)输出本月拨打电话次数最多的前三个呼叫员的编号。
- --5)输出所有数据的拨号流水,并且在最后一行添加总呼叫时长。
- --记录呼叫员编号、对方号码、通话时长
- --......
- --汇总[市内号码总时长][长途号码总时长]
- --IdCallerNumberTellNumberStartDateTimeEndDateTime
- --1001020888888882010-7-1010:012010-7-1010:05
- --2001020888888882010-7-1113:412010-7-1113:52
- --3001898989892010-7-1114:422010-7-1114:49
- --4002021883689812010-7-1321:042010-7-1321:18
- --5002767676762010-6-2920:152010-6-2920:30
- --6001022888782432010-7-1513:402010-7-1513:56
- --7003672546862010-7-1311:062010-7-1311:19
- --8003862314452010-6-1919:192010-6-1919:25
- --9001874223682010-6-1919:252010-6-1919:36
- --10004400458622452010-6-1919:502010-6-1919:59
- --创建表
- createtableT_CallRecords(
- idintnotnull,
- CallerNumbervarchar(3),
- TellNumbervarchar(13),
- StartDateTImedatetime,
- EndDateTimedatetime,
- Primarykey(Id)
- );
- --插入数据
- insertintoT_CallRecords(Id,CallerNumber,TellNumber,StartDateTime,EndDateTIme)
- values(1,'001','02088888888','2010-7-1010:01','2010-7-1010:05');
- INSERTINTOT_CallRecords(Id,CallerNumber,TellNumber,StartDateTime,EndDateTime)
- VALUES(2,'002','02088888888','2010-7-1113:41','2010-7-1113:52');
- INSERTINTOT_CallRecords(Id,CallerNumber,TellNumber,StartDateTime,EndDateTime)
- VALUES(3,'003','89898989','2010-7-1114:42','2010-7-1114:49');
- INSERTINTOT_CallRecords(Id,CallerNumber,TellNumber,StartDateTime,EndDateTime)
- VALUES(4,'004','02188368981','2010-7-1321:04','2010-7-1321:18');
- INSERTINTOT_CallRecords(Id,CallerNumber,TellNumber,StartDateTime,EndDateTime)
- VALUES(5,'005',<
文章题目:SQL语句相关概念及练习之基础篇
URL分享:http://www.csdahua.cn/qtweb/news20/260270.html网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网