黑马程序员--数据库基础1

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

数据库
(1)数据库中的概念
Catalog 分类 不同的类数据放到不同数据库中
表 不同类型的资料放到不同格子中  列 字段 
主键 数据行的唯一标示 不会重复的列才能当主键没有特殊理由都要设主键
业务主键 有业务意义的字段 身份证银行账号 
逻辑主键 没有任何意义的字段 流水号  推荐使用逻辑主键
表间关联 外键
字段类型
 bit 可选值(0,1)datetime int  varchar nvarchar
char 不足部分用空格代替  varchar 可变的长度所以名字之类的应该用varchar或nvarchar


sql语句
sql语句中字符串都是单引号 大小写不敏感


创建表语句


   CREATE TABLE T_Person(Id int NOt NULL,Name nvarchar(50),Age int NULL),
 删除表 Drop table T_Person
简单的插入语句
 Insert intoperson1(number,name,age)values(3,嘎嘎子,13)
sql主要分 数据定义语言ddl(creattable droptable)  数据操作语言dml(insert into )
用 标识列实现自动将字段是标识列设置成是 一个表只有一个字段能有一个标识列
Guid算法 产生一串数字 主要用Guid产生一串不重复数字
用法 Guid id=Guid.NewGuid();
 数据插入
 insert into Person1(Name,Age)values('lily',38); (Name,Age)可省略 但一般不这样用
insert into person2(id,name,Age)value(newid() ,'lily',23);此时表中的id类型选择uniqueidentifier
Guid 类型的默认值可以设置为newid()就会自动生成Guid类型的一串数字
更新数据sql语句
update person set Age=30,Name=‘lala’ ; 修改person表中的所有数据 让他们的Age字段等于30 Name字段等于lala
update person set Age=Age+1; 可以让Age+1;
条件更新
update person set Nickname=N'青年人'where Age>30  更新年龄>30的 字段Nickname的为青年人
删除数据
delete from Person  删除表中所有数据 清空  Drop person  把表都去掉了
delete fromPerson where Age>20  去掉Age》20 这一行
数据检索
select *from 表名 检索 这个表中的所有数据
select 列名1列名2 from表名 检索表中列名为1列名为2的数据
修改表的字段名
select 列名 as 新列名,列名as 新列名 from表名
select gatedate();获取时间 


select还可以计算 select 列名 as 姓名,Fsalary+1000 as 月薪  from 表名  把把Faslary+1000;
  聚合函数
select max(Fsalary) from 表名   字段Fsalary中最大的数查出来  类似的min()最小的 avg()平均
select count(*)from 表名  
select *from  表名  order by  列名   按照一个列 排序 默认升序从小到大  by后边加上(Asc降序 )( Desc升序)


语句中有where时 order by 放在where后边     
select* from person
where Age>20
order by Age Desc   筛选表person中 年龄大于20的 排序方式为升序


通配符过滤
单字符匹配


半角下的"_" select*from person where name like '_hha' 已任意开头后边为hha的
半角下的"%" select*from person where name like '%n%';姓名中包含n的字符


空值处理
null  不等于没有名字
select *from person  where name is null  查出name中为null的数据




多值匹配
select * from person 
where age=23 or age=19 or12 查找年龄为23 19 12的
select*from person
where age in (23,12,34)查找 年龄为 23 12 34的
select*from person  查找 年龄大于20小于30的
where age>20and age<30




























































---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值