自考实践课——数据库

简介: 自考实践课——数据库

数据库,培养计划中学习过,自考中学习过,软考中学习过,项目中用过。这次的实践课,上手一操作,图形化操作比较熟练,sql语句来操作还是有些不熟练哒,不过没关系,知识是需要反复的,技能也是需要反复操练的。这次实践课是一次操练的机会。三道数据库的题,新建库、表和索引;插入数据;修改表结构;查询特定数据。

       知识网是通过找联系把知识联系起来的。我把今天的理解与之前的两篇文章联系一下:

SQL DML-数据查询

SQl DDL-数据库的创建

       新建库、表和索引,修改表结构属于DDL,插入数据、查询特定数据,属于DML。

【旧知识】

1. --创建名称为“某某考生实践考试”的数据库
2. create database  某某考生实践考试


1. --创建表
2. use  某某考生实践考试
3. create table 考生基本信息
4. (
5. 准考证号 char(12),
6. 姓名 char(8) not null,
7. 年龄 smallint,
8. 性别 char(2),
9. 地区 char(10),
10. 工作单位 char(20),
11. 联系电话 char(12),
12. 电子邮件地址 char(20),
13. primary key (准考证号)
14. )


select * from Employees where City='London'


       其中最最熟悉,最先接触的就是查询语句。


【新东西】

 

1. --修改“考生基本信息”的“工作学习单位”列名为“工作单位”,应用系统自带触发器sp_rename
2. exec sp_rename'考生基本信息.[工作学习单位]','工作单位'


1. --创建索引
2. create index 索引姓名 on 考生基本信息(姓名)

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

1. --插入个人信息真实数据
2. insert into 考生基本信息
3. values (123456789001,'李某某',24,'女','某某地区','某某单位',01234567890,'01234567890@163.com')
4. insert into 考核科目
5. values (02375,'运筹学基础'),(02628,'管理经济学'),(04735,'数据库系统原理')


       存在即更新,不存在即插入——这个是在网上查到东西,理了好久才理清楚的。当表的非自增长属性开的时候,才可以插入或删除记录。

1. --判断数据是否存在,存在即更新,不存在即插入
2. if exists(select CategoryID from dbo.Categories Where CategoryID='7'  )                        
3. ---- 存在记录才更新
4. Update dbo.Categories
5. set CategoryName ='software',
6.         Description ='Delphi,Office',
7.         picture=''
8. Where CategoryID=7
9. else
10. --设置表Categories的主键为非自增长
11. set identity_insert Categories on
12. 
13. --不存在记录才插入
14. Insert into dbo.Categories(CategoryID ,CategoryName ,Description,Picture)     
15. Select 7,'software' ,'Delphi,Office',null
16. go
17. 
18. Insert into dbo.Categories(CategoryID ,CategoryName ,Description,Picture)     
19. select 9,'Condiments','sauces,relishes',null union
20. select 13,'books','SQL,Programs',null union
21. select 15,'Dairy Products','Cheeses,Milks',null
22. 
23. --设置表Categories的主键为自增长
24. set identity_insert Categories off

       本来在网上搜索insert into ...select 与insert into ...values的区别。却发现它们是两回事。

insert into...values是插入语句,insert into...select是表复制语句。而表复制语句有两种,一种要求第二张表也就是目标表必须存在,一种要求第二张表不存在。

       详情请戳:SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

1. --查找与表Categories有外键关联表Products的外键
2. select name  
3. from  sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id
4. where
5. f.parent_object_id=object_id('Products')
6. 
7. --删除与表Categories关联的外键
8. alter table Products drop constraint FK_Products_Categories
9. 
10. --删除查出的记录
11. delete from Categories where ( CategoryName ='Produce' or CategoryName ='Confections')

       数据库的约束这一项,对于我来说比较陌生。主键/外键约束。

1. --设置表Categories的主键不是自增长
2. set identity_insert Categories on
3. 
4. --删除主键约束
5. alter table categories drop constraint PK_Categories
6. 
7. --修改表结构
8. alter table Categories alter column CategoryID char(20) not null
9. 
10. --添加主键约束
11. alter table categories add constraint PK_Categories primary key( CategoryID)


【总结】

        这次在完成实践考试的过程中,真的体会到了,自己看代码看半天,也找不到问题在哪儿,转移一下注意力,请同学过来看看,伸个懒腰之后,突然就悟了!通了!所以我们遇到问题卡着的时候不要放弃,只要是问题,总有解决的办法。越是摸不着头脑的错误,出错的原因越是简单。


相关文章
|
C#
【自考】之数据库系统原理
【自考】之数据库系统原理
158 0
|
存储 SQL 安全
自考数据库原理汇总
自考数据库原理汇总
164 0
|
7月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
511 158
|
7月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
7月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1278 152
|
7月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
951 156
|
7月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
535 156
|
7月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(上)
最终建议:当前系统是完美的读密集型负载模型,优化重点应放在减少行读取量和提高数据定位效率。通过索引优化、分区策略和内存缓存,预期可降低30%的CPU负载,同时保持100%的缓冲池命中率。建议每百万次查询后刷新统计信息以持续优化
645 161
|
8月前
|
存储 运维 关系型数据库
从MySQL到云数据库,数据库迁移真的有必要吗?
本文探讨了企业在业务增长背景下,是否应从 MySQL 迁移至云数据库的决策问题。分析了 MySQL 的优势与瓶颈,对比了云数据库在存储计算分离、自动化运维、多负载支持等方面的优势,并提出判断迁移必要性的五个关键问题及实施路径,帮助企业理性决策并落地迁移方案。
|
7月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。

热门文章

最新文章