笔记:2018/6-7-2018-6/13

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 add constraint FK_B foreign key (ticket_no) references B(ticket_no)

alter table 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对象

猜你喜欢

转载自blog.csdn.net/SanitaryGardenia/article/details/80687939
今日推荐