Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏数据分析,证券金融行业)技术面试考点之sqlserver语言相关考察点复习
导读:其实,考察的知识点,博主都做过, 还包括sqlserver语言相关考察点,但是,emmm,这些知识点,在我写代码中,几乎不会用到,so,会遗忘。所以,还需要下功夫,去多回忆回忆啦。
整个过程还算nice。
目录
T-SQL语句
sql数据库基本操作
1、创建表
2、增删改查
3、sql的约束
sqlserver其他相关操作
1、基本操作
2、备份还原数据库
3、删除数据库
4、已有E_Market文件中,添加文件组和数据文件
T-SQL语句
数据定义语句DDL、数据操作语句DML、数据控制语句DCL、其他基本语句、流程控制语句、批处理语句;
数据定义语句DDL:CREAT、DROP、ALTER;数据操作语句DML:INSERT插入、UPDATE更改、DELETE删除、SELECT查询;数据控制语句DCL:GRANT给用户授予权限、DENY拒绝权限操作、REVOKE收回权限操作;
sql数据库基本操作
1、创建表
USE niu--使用niu数据库创建表niutableIF EXISTS(select count(*) from sys.objects where name = 'niutable') --若原先存在该表,DROP TABLE niutable --执行删除该表;GOCREATE TABLE niutable --建表的同时要建字段;(s_id INT NOT NULL PRIMARY KEY, --数据表主键,id或num编号不能空s_age INT, --年龄,s_birthday DATE, --生日,不能为空s_name VARCHAR(20) NOT NULL,--名称,不能为空s_sex VARCHAR(4) NOT NULL CHECK(sex ='男' or sex='女'), --性别,s_dept VARCHAR(50) NOT NULL,s_phone VARCHAR(18) CONSTRAINT uq_phone UNIQUE --电话s_gongzi NUMERIC(6,2) NOT NULL, --工资shijian DATETIME --添加当前时间列)
2、增删改查
3、sql的约束
1、非空约束NOT NULL、DEFAULT约束:
--DEFAULT约束,定义表,指定员工编码默认是
CREATETABLEtb_dept8(
idINTPRIMARYKEY,--主键约束
nameVARCHAR(26)NOTNULL,--NOT NULL约束
deptIdINTDEFAULT1111,--DEFAULT约束
salaryFLOAT
);
2、唯一性约束
--唯一性约束,T1,指定一个表的名称为唯一的,
CREATETABLEtb_dept2(
idINTNOTNULLPRIMARYKEY,
nameVARCHAR(22)NOTNULLUNIQUE,
locationVARCHAR(50)
)
--唯一性约束,T2,先定义一个表所有列以后,再指定部门唯一性;
CREATETABLEtb_dept3(
idINTNOTNULLPRIMARYKEY,
nameVARCHAR(22)NOTNULL,
locationVARCHAR(50)
CONSTRAINT部门名称UNIQUE(name)
);
3、CHECK约束
--CHECK约束,定义一个表,约束员工工资属于(1800,3000);
CREATETABLEtb_dept7(
idINTPRIMARYKEY,
nameVARCHAR(26),
deptIdINT,
salaryFLOAT,
CHECk(salary>1800 ANDsalary<3000)--给定条件约束;
);
4、主键约束
CREATETABLEnyy_pmp2(--T1法,在表nyy_pmp2下创建主键约束
idINTPRIMARYKEY,
nameVARCHAR(25)NOTNULL,
salaryFLOATNOTNULL
)
CREATETABLEnyy_pmp3(--T2法,在表nyy_pmp3下创建主键约束
idINTNOTNULL,
deptIdCHAR(20)NOTNULL,
CONSTRAINT姓名部门约束--设置主键约束
PRIMARYKEY(name,deptId)
)
CREATETABLEnyy_pmp4(--T3法,先创建表nyy_pmp4,再创建主键约束;
idINTNOTNULL,
nameVARCHAR(25)NOTNULL,
deptIdCHAR(20)NOTNULL,
salaryFLOATNOTNULL
)
sqlserver其他相关操作
1、基本操作
USE masterGOIF EXISTS(SELECT * FROM sys.databases WHERE NAME = 'CAD_student')DROP DATABASE CAD_studentGOCREATE DATABASE E_Market --建立主文件,物理文件后缀名为mdfON PRIMARY--主文件组(NAME='E_Market_data', --数据库逻辑文件名FILENAME='F:\File_SQL Server\E_Market_data.mdf',--主文件物理地址SIZE=5MB, --主文件初始大小MAXSIZE=100MB, --主文件增长的最大值,或无限制=UNLIMITEDFILEGROWTH=15% --主文件的增长率), --第一个文件组结束FILEGROUP FG --次文件组(NAME='FG_E_Market_data', --FILENAME='F:\File_SQL Server\FG_E_Market_data.ndf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=0)LOG ON--日志文件,日志文件不属任何文件组(NAME='E_Market_log', --日志文件逻辑文件名FILENAME='F:\File_SQL Server\E_Market_log.ldf', --日志物理文件名SIZE=5MB, --日志文件初始大小FILEGROWTH=0 --未启用自动增长)GO--批处理标志
2、备份还原数据库
backup database niu to disk ='F:\niu.bak'with name='F:\niu' --还原数据库restore database niu from disk='F:\niu.bak'--完整备份(name还原显示的名称backup database t to disk='D:\CAD_student.bak',name='CAD_student'--差异备份backup database t to disk='E:\dataBak\log\bak_t_differ.bak'with differential,noinit,name='bak_t_differ'--日志备份BACKUP LOG niu to disk='F:\niu_log_t.bak' with noinit,name='F:\niu_log_t'
3、删除数据库
USE masterDROP DATABASE E_MarketGOIF EXISTS(SELECT * FROM sysdatabases WHERE name='E_Market')DROP DATABASE E_MarketGO
4、已有E_Market文件中,添加文件组和数据文件
USE E_MarketALTER DATABASE E_Market ADD FILEGROUP FG1GOALTER DATABASE E_Market ADD FILE(NAME='FG1_E_Market_data',FILENAME='F:\File_SQL Server\FG1_E_Market_data.ndf',SIZE=5MB,FILEGROWTH=10%,MAXSIZE=500MB)TO FILEGROUP FG1GOALTER DATABASE E_MarketMODIFY FILEGROUP FG1 DEFAULTGO
Interview:算法岗位面试—10.11下午—上海某公司算法岗位(偏数据分析 证券金融行业)技术面试考点之sqlserver语言相关考察点复习