ASP.NET第二天数据库知识

第二天

复习:

1.创建数据库、表

2.插入数据

3.T-sql来 创建数据库、表、插入、删除、修改、查询(基本查询)表中的数据

 

创建数据库:

Create database db

Create database db

On primary

Name=db,

Filename=c:\db.mdf,

Size=3mb,

Maxsize=100mb,

Filegrowth=10%

Create table biaoming    --alter table biaoming ()  修改表

(

Lieming int identity (1,1)primary key,

Lie2 varchar (50)not null

)

Drop table biaoming   --删除表

[ ]可有可无的内容;

Insert into biaoming(列1,列2,列3valuesa,b,c

Select a,b,c union     --想要插入重复数据,可在后面加上all

 

Select *into newtable from oldTable where age>5  --拷贝表内容,但是主键是不能被跟着来的,一起的只有它的数据

Select*into newtable from oldTable where 1=2  --只拷贝表结构,因为没有一条数据能够满足1=2所以没有数据可以拷贝;

---更新

Update biaoming set lieming =1lei2=值,lei2=值,where lie2>10and. . ..and...or

 

--删除

Delete from biao where age>20

----一次删除表中的所有数据

Delete from biao 

 

Truncate table biaoming

 

Select*from biaoming where. . .

Select name, age from biao where. . .

 

273734825

 

手动删除一列

Alter table employee drop column emp_address 

手动增加一列 

Alter table employee alter column emp_email varchar200

 

约束

1. 主键约束→primary key必须是int类型,右键单击选择“设置主键”

2. 唯一约束→unique对着列右键单击,选择“索引/键”,点击“添加”,在“类型”中选择唯一键,在“列”中选择要设置的列

3. 检查约束→check对着列右击,选择“CHECK约束”,点击“添加”,在“表达式”中输入要设置的条件,“名称”可以选择改与不改

4. 默认约束→default单击要设置的列,在列属性中的“默认值或绑定”中输入默认的值

5. 外键约束→foreign key对着列右击,选择“关系”,点击“添加”,打开“表和列规范”的右边的按钮,在“表和列”的主键表的下拉菜单中,选择主键表,在下面的列中选择主键表中的列,在外键表的下面选择选择连接主键表的列,单击“确定”

6. 非空→not null 

7. 外键约束需要在外键表中建立

 

 

empId增加一个主键约束

 

增加一个非空约束恰是就是修改列

Alter table employee alter column emp_name varchar50not null

 

empname 增加一个唯一约束

Alter table employee  add  constraint  UQ_employee_emp_name unique (emp_name)

 

为性别增加一个默认约束;默认为“男”

Alter table employee add constraint  DF_Employee_emp_gender default()for emp_gender

 

想要增加外键约束,必须是主键,如果不是主键,则需要增加一个主键

department表增加一个主键

给列起别名: as可以省略 ,也可以是 :姓名=FName

 

 

函数是粉颜色的

这个是更加准确的时间

 

 

Print getdate()以文本的形式输出

查找表中的前10条数据,更加精准

Select top 10*from MyStudent 

Select top 20 percent *from mystudent 表示查询前百分之20条的记录;

 

Select top 5*from mystudent order by FAge ASC 升序排列后,显示 desc是降序

默认的是升序的select*from mystudent order by FAge   最好加上排序方式

 

Select distinct * from 表名  distinct 表示对查询出的结果集,进行去除重复,只有完全重复的行,才会去除。Select distinct 姓名,性别,年龄 from 表名 可以排除一些条件,

 

查询年龄最大的年龄    最小用min  ()中的是要查询的列名

 

 

查询所有同学的年龄的总和   平均值是avg  总数据条数count

 

 

 

当在查询的列中,使用了聚合函数的时候,那么就不能再列表中再出现其他列名了,除非该列也包含在聚合函数中,就算数据只有一条也不行,如:

 

 

查询没有及格的男学生的

Select*from mystudent where math<60  or  english<60and gender=

 

区间查找是用between 

 

模糊查询

 

 

 

要查询的记录是几位后面就加上几个下划线;

如果用[ ]括起来的下划线就代表着,它就是下划线;不再是通配符;百分号是一样的;数量随便,可以在[ ]中,可以用正则表达式,只有一部分;

 

查找所有的数学成绩为null的数据

 

 

查找所有的数学成不为null的数据,在其中加上not

 

数据排序order by永远放在语句的最后)

 

按照英语和数学的总成绩进行排序

 

可以直接使用别名,

 

 

先按英语排序,如果英语成绩一样,则再按数学排序

 

中间用逗号 隔开;

分组查询

查询出每个销售员的 总的销售数量

 

 

查找出每个班的班级id,以及这个班的学生的总人数:

 

 

查找每个班的所有的男生人数

 

1.where ,在分组前筛选数据

2.Having,在分组后筛选数据

查找出班级中的人数大于250的班级

 

 

使用了聚合列时,就不能使用普通列了,

 

不能有fname as 姓名这个列,fclassid是分组的依据,所以不会错

 

执行顺序:

1.from 

2.Where 条件

3.Group by 

4.Having 筛选条件

5.Select 选择列, distinct  top

6.Order by 

 

类型转换

字符串直接与整数相加出错(类型不匹配)

原文地址:https://www.cnblogs.com/mafacai/p/2822408.html