2018/6/7
1. H5 3D转换
2. 通配符:
_:一个字符
%:任意长度字符串
[]:括号范围内一个字符
[^]:不在括号范围内一个字符
3. 模糊查询关键字:
LIKE(只与字符型数据联合使用)
IS NULL
BETWEEN……AND……
IN( ) 查询某列内容与所列出的内容匹配的记录
4. 常用聚合函数:SUM、AVG、MAX、MIN、COUNT
5. 学习过程中,尝试先用已知解决问题,再接受NEW
6. GROUP BY 根据不同字段分组,最终结果不分先后顺序
7. 分组筛选关键字先后:
WHERE GROUP BY HAVING
WHERE :用来筛选FROM子句中指定的操作所产生的行
GROUP BY :用来分组WHERE子句的输出
HAVING:用来从分组的结果中筛选行
8.创建《碧蓝航线》部分舰娘数据表,建立数据库,增、删、改、查
2018/6/8
1.《头文字D》 秋名山车神 周董送豆腐被绿
2.《刻意练习》
3.了解 交叉连接
4.内连接查询(拼凑设定的字段相同的数据)
如果两张表有相同的字段,可以使用给表起别名的方式(AS/空格)
1. SELECT …… FROM TABLE1 INNER JOIN TABLE2 ON……
如果有条件筛选,必须放在表连接查询之后
2. SELECT FROM TABLE1,TABLE2 WHERE
使用WHERE进行内连接查询,可以使用全表名称或别名
5.使用不等于查询不想关数据
6.总结:
1.寻找字段在哪张表中
2.进行主外键关联的值的匹配
7.内连接是两表必须匹配主外键字段,才拼接新的行数(数据)
外连接只要主表主键有的数据,即使附属表没有也必须要拼接数据(null)
8.左外连接以第一个表作为主表,若左表的某行在右表中无匹配的行,则在结果集中右表所有所有选择列为null
9.LEFT JOIN 次表
RIGHT JOIN 主表
2018/6/11
1.掌握T-SQL创建数据库、建立约束关系
use master; --切换到系统数据库
--判断AzurLane_MINE数据库存不存,如果存在,那就删除
if exists(select * from sys.databases where name='AzurLane_MINE')
begin
drop databaseAzurLane_MINE;
end
----------------------
/*使用系统的储存过程 start */
----------------------
exec sp_configure 'show advanced options',1
GO
RECONFIGURE
GO
--exec sp_configure
exec sp_configure @configname='xp_cmdshell',@configvalue=1 --必须传递参数 2,并以 '@name = value' 的形式传递后续的参数。一旦使用了 '@name =value' 形式之后,所有后续的参数就必须以 '@name = value' 的形式传递。
GO
RECONFIGURE
GO
exec xp_cmdshell 'mkdir D:\vsProjects' --调用扩展存储过程执行cmd命令
----------------------
/*使用系统的储存过程 end*/
----------------------
/*创建数据库*/
CREATE DATABASE AzurLane_MINE --碧蓝航线
ON
(
--描述数据库
NAME='AzurLane_MINE',
FILENAME='D:\vsProjects\AzurLane_MINE.mdf',
SIZE=5MB, --初始大小
MAXSIZE=100mb, --最大
FILEGROWTH=10%
)
LOG ON
(
--描述数据库
NAME='AzurLane_MINE_log',
FILENAME='D:\vsProjects\AzurLane_MINE_log.ldf',
SIZE=3MB, --初始大小
MAXSIZE=100mb, --最大
FILEGROWTH=1mb
)
USE AzurLane_MINE;
--创建战舰少女表
CREATE TABLE WarshipGirl
建立约束关系:
感谢 https://blog.csdn.net/lqhed/article/details/51492114
--在创建表时就可以对字段加上约束:
create table Student
(
StudentNo int PRIMARY KEY IDENTITY(1,1), --加主键约束,还有标识列属性(两者构成实体完整性)
StudentName nvarchar(15) not null, --加非空约束,不加"not null" 默认为:可以为空
StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外键约束,格式:FOREIGN KEY REFERENCES 关联的表名(字段名)
StudentAge int DEFAULT ((0)), --加默认值约束
StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加检查约束,格式:check (条件表达式)
)
--如果在表创建好了以后再加约束,则格式分别为:
-- 主键:
alter table 表名
add constraint PK_字段名--"PK"为主键的缩写,字段名为要在其上创建主键的字段名,'PK_字段名'就为约束名
primary key (字段名) --字段名同上
--唯一约束:
alter table 表名
add constraint UQ_字段名
unique (字段名)
--外键约束:
alter table 表名
add constraint FK_字段名--"FK"为外键的缩写
foreign key (字段名) references 关联的表名(关联的字段名) --注意'关联的表名'和'关联的字段名'
alter table 表A add constraint FK_B foreign key (ticket_no) references 表B(ticket_no)
alter table 表A add constraint FK_C foreign key (person_no) references 表C(person_no)
alter table 成绩表 add constraint FK_StudentNo foreign key (StudentNo) references Student (StudentNo)
ON UPDATE CASCADE ON DELETE CASCADE
级联更新,级联删除,这样在删除主表Student时,成绩表中该学生的所有成绩都会删除。
--检查约束:
alter table 表名
add constraint CK_字段名
check (条件表达式) --条件表达式中的条件用关系运算符连接
--默认值约束:
alter table 表名
add constraint DF_字段名
default '默认值' for 字段名--其中的'默认值'为你想要默认的值,注意'for'
--删除创建的约束:
alter table 表名
drop constraint 约束名--约束名为你前面创建的如:PK_字段这样的约束名
--注意:如果约束是在创建表的时候创建的,则不能用命令删除
--只能在'企业管理器'里面删除
2.stuName nvarchar(50)unique not null
UNIQUE 唯一约束
PRIMARY KEY不能为空,UNIQUE可以为null
2018/6/12
1.学会用 数据库关系图建立表间关系
2.ADO.NET的两个主要组件:
1.DataSet 数据集,存放独立于数据源的数据
2..NET Framework 数据提供程序
3.命名空间 Systtem.Data.SqlClient.
4..NET 四个核心对象
Command:负责对数据库执行命令
DataReader:从数据源读取数据
Connection:连接DB
DataAdapter:负责数据集和DB的联系
5.//定义数据库连接字符串
st ring conn S ring = “Data Source =.;Initial Catalog = DB;User ID=sa;pwd=sa”;
//创建Connection对象并给连接对象赋值(连接字符串)
SqlConnection conn = new SqlConnection(conn Sring);
以上步骤可以分为两步:
SqlConnection conn = new SqlConnection();
conn.ConnectionString =connString;
Connection .Open();
Connection.Close();
6.Connection 主要成员
属性:ConnectionString 连接字符串
方法:Open()
Close() 必须显式关闭连接
7.Command 主要成员
属性:Connection Command对象使用的数据库连接
CommandText 执行的T-SQL
方法:ExecuteNonQuery() 执行不返回行的语句,如update等
ExecuteReader() 返回DataReader对象
ExecuteScalar() 返回单个值,如执行带COUNT(*)的T-SQL
8.构造函数:
1.必须public
2.必须与类名一致
解释:本质上就是一个方法,使用new方式创建对象的时候调用
public DBOperation()
{
Console.WriteLine(“DBOperation正在构建中”);
}
函数方法的重载:
1.方法的名称相同
2.方法的参数类型或个数不相同
解释:造成方法的重载
2018/6/13
1.通过Command对象调用方法,返回一个DataReader对象
reader对象的方法read,读取内容,返回值是bool,是否读取完
read()方法结合while循环使用
循环体进行解析读取的内容
2.调试——监视sql——sql.ToString()——文本可视化工具
3.DataReader 从数据源检索只读、只进的数据流,每次读取一行数据
DataReader.Read() 若能读取到一行记录则返回true
4.sb.Length=0; //清空字符串
5.return comm..ExecuteReader(CommandBehavior.CloseConnection);
在执行命令时,若关闭关联的DataReader对象,则关联的Connection对象也会关闭
6.DataReader 主要成员
属性:HasRows 查询是否返回结果。若有则返回true
FieldCount 当前行中的列数
方法:bool Read() 前进到下一行记录。若读到记录则返回true
void Close() 关闭DataReader对象