首页 > 大数据 > 数据挖掘 > 黑马程序员-数据库学习笔记
---------------------- asp.net+android+ios/">http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发、
.net/">http://edu.csdn.net"target="blank">.Net培训、期待与您交流!
----------------------
1、sql语句中字符串用单引号
主键策略:
2、int 设置自动增长列
3、GUID做主键 ID数据类型选择uniqueidentifier
4、sql语句中出现中文就在中文前面加一个N,否则有可能出现错误,update 表名 set 字段=N'中文';
5、sql中不等于号两种!=或者<>
6、创建一个员工表并插入数据sql语句
7、varchar和nvarchar区别
8、as给列起别名 select FName as '姓名' from 表名
9、sqlsever中的null表示不知道而不表示空,所以有null参与的运算,结果基本都是null,例如:
10、取出查询后的数据的前几行用top 数据量非常大的时候可以用top 只取前几条数据
11、为表T_Employee增加两个字段并插入数据
alter table T_Employee add FSubCompany varchar(20);
alter table T_Employee add FDepartment varchar(20);
update T_Employee set
FSubCompany='Beijing',FDepartment='Development'
where FNumber='DEV001';
update T_Employee set
FSubCompany='ShenZhen',FDepartment='Development'
where FNumber='DEV002';
update T_Employee set
FSubCompany='Beijing',FDepartment='HumanResource'
where FNumber='HR001';
update T_Employee set
FSubCompany='Beijing',FDepartment='HumanResource'
where FNumber='HR002';
update T_Employee set
FSubCompany='Beijing',FDepartment='InfoTech'
where FNumber='IT001';
update T_Employee set
FSubCompany='ShenZhen',FDepartment='InfoTech'
where FNumber='IT002';
update T_Employee set
FSubCompany='Beijing',FDepartment='Sales'
where FNumber='SALES001';
update T_Employee set
FSubCompany='Beijing',FDepartment='Sales'
where FNumber='SALES002';
update T_Employee set
FSubCompany='ShenZhen',FDepartment='Sales'
where FNumber='SALES003';
12、创建一个表T_TempEmployee
create table T_TempEmployee(FIdCardNumber varchar(20),FName
varchar(20),FAge int, primary key(FIdCardNumber));
insert into T_TempEmployee(FIdCardNumber ,FName ,FAge)
values('1234567890121','Saranl',33);
insert into T_TempEmployee(FIdCardNumber ,FName ,FAge)
values('1234567890122','Tom',26);
insert into T_TempEmployee(FIdCardNumber ,FName ,FAge)
values('1234567890123','Yalaha',38);
insert into T_TempEmployee(FIdCardNumber ,FName ,FAge)
values('1234567890124','Tina',26);
insert into T_TempEmployee(FIdCardNumber ,FName ,FAge)
values('1234567890125','Konkaya',29);
insert into T_TempEmployee(FIdCardNumber ,FName ,FAge)
values('1234567890126','Fotifa',46);
13、一些常用的函数ABS()求绝对值,CEILING()舍入到最大整数,FLOOR()舍入到最小整数,ROUND(小数,精度)四舍五入,LEN('字符串')求字符串长度,SUBSTRING('字符串',开始位置,截取长度),GETDATE()取当前日期,DATEADD(datepart,number,getdate())
DATEPART()取日期的部分,DATADIFF(datepart,开始时间,结束时间)计算日期差
14、数据类型转换cast(expression AS
data_type),convert(data_type,expression),例如:cast('123' AS
int),convert()
--ISNULL()函数对结果是NULL的值进行处理,下面例子是将NULL换成佚名
select ISNULL(FName,'佚名') as 姓名 from T_Employee
case用法
select FName,
(
case FLevel --用户级别
when 1 then '普通客户'
when 2 then '会员'
when 3 then 'VIP'
else
end
) as 客户类型
from T_Customer
15、表连接用JOIN
select o.FName,o.FAge,c.FAge
from T_Employee as o join T_TempEmployee as c on
o.FName=c.FName
16、数据库中有一个自增Id字段,获得插入数据后系统为Id字段自动增加的值用语句 Insert into 表名(字段) output
inserted.Id values(值),返回新增Id的值
17、字符串拼接小心sql注入
用cmd.CommandText = "select * from T_user where UserName=@UserName";
18、
SQLSERVER
int
bigint
bit(0,1)
numeric
19、truncate table tablename(表名)可以解决删除表中数据后自增字段无法恢复到初始值问题
20、向数据库中批量插入数据用SqlBulkCopy类
21、如果数据库中的值为Null则返回DBNull.Value
22、数据库中bit类型的字段值要写false或true但是sql语句中要写0或1
---------------------- asp.net+android+ios/">http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发、
.net/">http://edu.csdn.net"target="blank">.Net培训、期待与您交流!
----------------------
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21822526/viewspace-1118822/ ,如需转载,请注明出处,否则将追究法律责任。