• 04 SqlServer


    数据库的注释 –(两个横线)

    主键表 外键表

    主键,组合主键

    SqlServer

    使用附加

    权限

    主文件mdf

    日志文件ldf

    数据类型

    char varchar nchar nvarchar

    char(4)    固定   存的4个字母2个汉字 不足用空格

    varchar(4) 不固定 存4个字母2个汉字 不会用空格补

    nchar(4)   固定   存4个汉字4个字母 不足用空格

    nvarchar(4) 不固定 存4个汉字4个字母 不会用空格补

    带var的变长、不用空格补

    带n的表示unicode字符集,所有字符用两个字节表示,存的字母和汉字一样多

    通过sqlserver脚本来实现分离和附加数据库

     

    数据库的插入

    修改 update set..

    删除 delete from class

         drop table

    truncate table class –

    truncate 主要nb的地方是会把自动编号重置

    如自增的主键

    新增和修改

     

    约束——保证数据的完整性

     

    约束—保证数据完整性

    ·先用设计器创建约束、再用代码创建约束

    ·数据库约束是为了保证数据的完整性(正确性)而实现的一套机制,见文件Employee.sql

    ·非空约束 不让改的时候就工具选项,干掉勾

    ·主键约束

    IDENDITY(标识规范)

    IDENTITY(1,1)中,第一个1代表标识列的第一行的值,第二个1代表每次增长1,也就是说标识列的第二行值是2,以此类推。

    ·唯一约束

    右键索引

    ·默认约束

    ·检查约束

    ·外键约束

    数据库

    前天内容复习

    主键---每个表都应该有一个主键

    业务主键 逻辑主键 组合主键

    A表有主键,B表也有主键,B表中使用了A表中的主键作为一列 B表是外键表 A表是主键表

    创建数据库 ,Create database on primary() log on()

    创建表 ,Create table 表名()primary key,not null

    数据类型 ,bit true false 1,0, 添加时间数据,用单引号 引起来

    char(2),一个汉字,两个字母,

    varchar(2),一个汉字,两个字母,

    nchar(2),两个汉字,两个字母

    nvarchar(2),两个汉字,两个字母

    drop 与 truncate

    truncate 删除后主键从默认值开始

    6种约束,保证数据的完整性

    非空约束,主键约束,唯一约束,默认约束,检查约束,外键约束

    删除一列

    alter table Employees drop column EmpAddress

    添加一列

    alter table Employees add EmpAddr varchar(100)

    --手动修改一下EmpEmail的数据类型(varchar(200))

    alter table Employees alter column EmpEmail varchar(200)

     

    --为EmpId添加一个主键约束

    alter table Employees add constraint PK_Employees_EmpId primary key

    (EmpId)

     

    --非空约束,为EmpName添加一个非空约束

    alter table Employees alter  column EmpName varchar(50) not null

     

    --为EmpName增加一个唯一约束

    alter table Employees add constraint UQ_Employees_EmpName unique (EmpName)

     

    --为性别添加一个默认约束,默认为'男'

    alter table Employees add constraint DF_Employees_EmpGender default('男') for EmpGender

     

    --为年龄增加一个检查约束,年龄必须在1-120岁之间

    alter table Employees add constraint CK_Employees_EmpAge check(EmpAge>=1 and EmpAge<=120)

     

    --增加外键约束

    alter table Employees add constraint FK_Employees_Department_DepId

    foreign key(DepId) references Department(DepId)

    select GETDATE();

    --查询所有的数据中的前10条数据

    select top 10 * from student

    --按照年龄从小到大排序

    select * from student order by TSAge asc

    --从大到小排序

    select top 10 percent * from student order by TSAge desc

    --去除重复

    select distinct TSName from student;

    聚合函数

    ·SQL聚合函数

    MAX(最大值),

    MIN(最小值)

    min sum avg…..

    select MAX(tsenglish) as 英语最高成绩,MIN(tsenglish) as 最低成绩,SUM(tsenglish)as 总和,AVG….

    In Between和and

    查询以张开头的所有名字

    select * from student where TSName like '张%'

    查询以张开头的名字,只有两个字

    select * from tblstudent where TSName like ‘张__’

    查询的是以张开头的名字,三个字

    select * from Tblstudent where tsName like ‘张%’ and LEN(tSName) = 3

    查询以张开头的名字中有字母的,三个字

    select * from Tblstudent where tSname like ‘张[a-z]%’

    select * from TblStudent where

    查询里面就带百分号的

    select * from TblStudent where TSname like ‘张[%]%’

    名字里没有数字 并且就三个字

    分组

    having是在分组后进行筛选用的

    转换

    --第一种

    select ‘当前时间’ +CAST(GETDATE() as varchar(20))

    --第二种

    select ‘当前时间’ +CONVERT(varchar(20),GETDATE(),109)

     –这里按f1查看支持的type,这里type为109

    union合并

    默认有distinct功能

    而union all 是没有的

     

    select LOWER('HELLO') --转小写

    select UPPER('word') --转大写

     

    select LTRIM('       哈哈,不再相信爱情了')

    select RTRIM('呵呵哒           ')

    select RTRIM LTRIM('     a       ')

    --没有直接trim

     --获取几年

    select DATEDIFF(YEAR,'2010',GETDATE())

    --获取时间的某个部分

    select DATEPART(year,getdate())

    --添加数据的同时,获取该餐桌的id(主键)

    --在数据库中@@开头 全局变量

    insert into DeskInfo values(‘1好餐桌’,’pinyin’,0,’123’);select @@identity;      

    insert into Class(DeskName,DeskNamePinYin) output inserted.DeskId,inserted.cName vales()

  • 相关阅读:
    Linux命令行和Shell高效率使用方法
    PHP导出word,CVS,PDF
    PHP的CLI综合
    [PHP]算法-二叉树中和为某一值的路径的PHP实现
    [PHP]算法- 判断是否为二叉搜索树的后序遍历序列的PHP实现
    [PHP]算法- 二叉树的深度的PHP实现
    [PHP] 算法-镜像二叉树的PHP实现
    [PHP] 算法-二叉树的子结构判断的PHP实现
    [PHP] 算法-邻接矩阵图的广度和深度优先遍历的PHP实现
    [PHP] 算法-根据前序和中序遍历结果重建二叉树的PHP实现
  • 原文地址:https://www.cnblogs.com/eret9616/p/8484807.html
Copyright © 2020-2023  润新知