search
HomeDatabaseMysql Tutorial数据库操作视图

在第一遍敲机房收费系统的时候,数据库时自己根据查询的时候需要用到哪个表,哪个字段,就直接将这些字段放在了一个表里面了。没有考虑过三范式什么的。因为上下机的时候卡号,表里面的内容是动态的,卡号总是会重复,所以连主键都没有设置就直接这么下来了

在第一遍敲机房收费系统的时候,数据库时自己根据查询的时候需要用到哪个表,哪个字段,就直接将这些字段放在了一个表里面了。没有考虑过三范式什么的。因为上下机的时候卡号,表里面的内容是动态的,卡号总是会重复,所以连主键都没有设置就直接这么下来了。当时也不懂什么数据冗余啊什么的。现在经过了一些稍微专业点的训练,知道那么做是不行的。数据库的设计需要遵循三范式。

问题来了,将数据库根据三范式设计了,这样有时候需要查询的字段在两个表里面,怎么办呢?这时就需要一个新东西了——视图。

视图在之前数据库学习的时候也是学习过的,但是当时只是看看,并没有真正的去动手时间过。心里会有一种这个东西很高大上的感觉。这次不得不用了,就查了一下,动手实践操作。发现其实很简单的。并没有想象中的那么高大上。

下面来讲一下视图。

视图的创建有两种方式,第一种方式就是在数据库里面根据数据库的提示建立。第二种就是直接写SQL语句来建立。虽然之前学过视图的句子,但是毕竟没有手动实践过,就先来第一种吧。

首先,右击 “视图”,选择“新建视图”

     数据库操作视图

会出现“添加表”的窗口,选择需要的表,然后点击“添加”

 数据库操作视图

就会出现可视化两个表,勾选上自己需要的字段,这时在下面就会有相应的SQL语句生成。

数据库操作视图

然后点击保存,给该视图命名个名字即可。也可以点击执行来看看效果。

视图是一个虚拟的表,所以在查询的时候,直接将视图作为一个表进行从中查询就可以了。在建立好的视图中,我们自己也可以在下面生成的SQL语句中加入条件。

比如,我加了一个条件,让T_OnOffLine表中的state字段值为False

数据库操作视图



总结:

在课本中学到的东西,没有动手实践过,只能是了解。遇到问题多多去动手实践,遇到问题,解决问题。才会成长的更多。实践出真知啊。


Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
MySQL: BLOB and other no-sql storage, what are the differences?MySQL: BLOB and other no-sql storage, what are the differences?May 13, 2025 am 12:14 AM

MySQL'sBLOBissuitableforstoringbinarydatawithinarelationaldatabase,whileNoSQLoptionslikeMongoDB,Redis,andCassandraofferflexible,scalablesolutionsforunstructureddata.BLOBissimplerbutcanslowdownperformancewithlargedata;NoSQLprovidesbetterscalabilityand

MySQL Add User: Syntax, Options, and Security Best PracticesMySQL Add User: Syntax, Options, and Security Best PracticesMay 13, 2025 am 12:12 AM

ToaddauserinMySQL,use:CREATEUSER'username'@'host'IDENTIFIEDBY'password';Here'showtodoitsecurely:1)Choosethehostcarefullytocontrolaccess.2)SetresourcelimitswithoptionslikeMAX_QUERIES_PER_HOUR.3)Usestrong,uniquepasswords.4)EnforceSSL/TLSconnectionswith

MySQL: How to avoid String Data Types common mistakes?MySQL: How to avoid String Data Types common mistakes?May 13, 2025 am 12:09 AM

ToavoidcommonmistakeswithstringdatatypesinMySQL,understandstringtypenuances,choosetherighttype,andmanageencodingandcollationsettingseffectively.1)UseCHARforfixed-lengthstrings,VARCHARforvariable-length,andTEXT/BLOBforlargerdata.2)Setcorrectcharacters

MySQL: String Data Types and ENUMs?MySQL: String Data Types and ENUMs?May 13, 2025 am 12:05 AM

MySQloffersechar, Varchar, text, Anddenumforstringdata.usecharforfixed-Lengthstrings, VarcharerForvariable-Length, text forlarger text, AndenumforenforcingdataAntegritywithaetofvalues.

MySQL BLOB: how to optimize BLOBs requestsMySQL BLOB: how to optimize BLOBs requestsMay 13, 2025 am 12:03 AM

Optimizing MySQLBLOB requests can be done through the following strategies: 1. Reduce the frequency of BLOB query, use independent requests or delay loading; 2. Select the appropriate BLOB type (such as TINYBLOB); 3. Separate the BLOB data into separate tables; 4. Compress the BLOB data at the application layer; 5. Index the BLOB metadata. These methods can effectively improve performance by combining monitoring, caching and data sharding in actual applications.

Adding Users to MySQL: The Complete TutorialAdding Users to MySQL: The Complete TutorialMay 12, 2025 am 12:14 AM

Mastering the method of adding MySQL users is crucial for database administrators and developers because it ensures the security and access control of the database. 1) Create a new user using the CREATEUSER command, 2) Assign permissions through the GRANT command, 3) Use FLUSHPRIVILEGES to ensure permissions take effect, 4) Regularly audit and clean user accounts to maintain performance and security.

Mastering MySQL String Data Types: VARCHAR vs. TEXT vs. CHARMastering MySQL String Data Types: VARCHAR vs. TEXT vs. CHARMay 12, 2025 am 12:12 AM

ChooseCHARforfixed-lengthdata,VARCHARforvariable-lengthdata,andTEXTforlargetextfields.1)CHARisefficientforconsistent-lengthdatalikecodes.2)VARCHARsuitsvariable-lengthdatalikenames,balancingflexibilityandperformance.3)TEXTisidealforlargetextslikeartic

MySQL: String Data Types and Indexing: Best PracticesMySQL: String Data Types and Indexing: Best PracticesMay 12, 2025 am 12:11 AM

Best practices for handling string data types and indexes in MySQL include: 1) Selecting the appropriate string type, such as CHAR for fixed length, VARCHAR for variable length, and TEXT for large text; 2) Be cautious in indexing, avoid over-indexing, and create indexes for common queries; 3) Use prefix indexes and full-text indexes to optimize long string searches; 4) Regularly monitor and optimize indexes to keep indexes small and efficient. Through these methods, we can balance read and write performance and improve database efficiency.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function