MySQL Stored Procedure Programming
- Autorzy:
- Guy Harrison, Steven Feuerstein
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 640
- Dostępne formaty:
-
ePubMobi
Opis
książki
:
MySQL Stored Procedure Programming
The implementation of stored procedures in MySQL 5.0 a hugemilestone -- one that is expected to lead to widespread enterprise adoption ofthe already extremely popular MySQL database. If you are serious aboutbuilding the web-based database applications of the future, you need toget up to speed quickly on how stored procedures work -- and how tobuild them the right way. This book, destined to be the bible of storedprocedure development, is a resource that no real MySQL programmer canafford to do without.
In the decade since MySQL burst on the scene, it has become thedominant open source database, with capabilities and performancerivaling those of commercial RDBMS offerings like Oracle and SQLServer. Along with Linux and PHP, MySQL is at the heart of millions ofapplications. And now, with support for stored procedures, functions,and triggers in MySQL 5.0, MySQL offers the programming power neededfor true enterprise use.
MySQL's new procedural language has a straightforward syntax, making iteasy to write simple programs. But it's not so easy to write secure,easily maintained, high-performance, and bug-free programs. Few in theMySQL world have substantial experience yet with stored procedures, butGuy Harrison and Steven Feuerstein have decades of combined expertise.
In MySQL Stored Procedure Programming, they putthat hard-won experience to good use. Packed with code examples and coveringeverything from language basics to application building to advancedtuning and best practices, this highly readable book is the one-stopguide to MySQL development. It consists of four major sections:
- MySQL stored programming fundamentals -- tutorial, basicstatements, SQL in stored programs, and error handling
- Building MySQL stored programs -- transaction handling,built-in functions, stored functions, and triggers
- MySQL stored programs in applications -- using storedprograms with PHP, Java, Perl, Python, and .NET (C# and VB.NET)
- Optimizing MySQL stored programs -- security, basic andadvanced SQL tuning, optimizing stored program code, and programmingbest practices
A companion web site contains many thousands of lines of code, that youcan put to use immediately.
Guy Harrison is Chief Architect of Database Solutions at Quest Softwareand a frequent speaker and writer on MySQL topics. Steven Feuerstein isthe author of Oracle PL/SQL Programming, the classic reference for Oracle stored programming for more than ten years. Both have decades of experience as database developers, and between them they have authored a dozen books.
Wybrane bestsellery
-
Odkryj potęgę języka SQL w niezwykle skondensowanej formie. Ta wyjątkowa publikacja oferuje intensywny kurs, który pozwoli Ci opanować podstawy i zaawansowane techniki SQL w zaledwie 24 godziny. Przygotuj się na prawdziwą rewolucję w Twoim podejściu do baz danych. Każda strona tej książki jest nasycona esencjonalną wiedzą, starannie wyselekcjonowan
- PDF + ePub + Mobi 34 pkt
-
Promocja
Relacyjne bazy danych są wszędzie wokół nas, a do podstawowych umiejętności wymaganych od współczesnych programistów należy dobra znajomość języka SQL. Na świecie nie ma jednak osób, którym nie zdarza się czegoś zapomnieć. Jeśli potrzebujesz pomocy w codziennej pracy lub chcesz odświeżyć wiedzę na temat SQL-a, sięgnij po te tablice! Szybko znajdziesz w nich niezbędne informacje i sprawdzisz instrukcje, które umożliwią sprawne osiągnięcie celu. Jedno spojrzenie pozwoli Ci przypomnieć sobie sposób tworzenia zapytań i zastosowanie różnych konstrukcji języka.- Druk 8 pkt
(6,90 zł najniższa cena z 30 dni)
8.49 zł
17.00 zł (-50%) -
Nowość Promocja
Unlock a world of job opportunities and accelerate your career growth by mastering MongoDB Key Features Master the fundamental principles of Schema Design, Querying, and Database Administration. Explore advanced topics, including Aggregation, Replication, and Sharding. Develop a fully functional application utilizing MongoDB Cloud Services. Descr- ePub + Mobi 80 pkt
(71,91 zł najniższa cena z 30 dni)
80.91 zł
89.90 zł (-10%) -
Nowość Promocja
A practical guide that will help you learn and leverage PostgreSQL's core features Key Features Acquire in-depth knowledge of PostgreSQL's key capabilities and gain a comprehensive understanding of its inner workings. Discover the art of extending PostgreSQL's core features and effectively troubleshooting any challenges that may arise. Explore the- ePub + Mobi 80 pkt
(71,91 zł najniższa cena z 30 dni)
80.91 zł
89.90 zł (-10%) -
Promocja
PowerShell Essentials - Your path to efficient automation and scripting Key Features Understand the concepts of .NET and PowerShell. Learn the basics of PowerShell, including the syntax, commands, and core concepts. Learn how to work with variables in PowerShell, including how to store data, perform arithmetic operations, and display data. Get fam- ePub + Mobi 80 pkt
(38,90 zł najniższa cena z 30 dni)
80.91 zł
89.90 zł (-10%) -
Promocja
Navigating the Oracle landscape, mastering installation on OCI Compute Key Features Comprehend Oracle Database 21c installation, essential concepts, and advanced features. Focus on Oracle Cloud Infrastructure (OCI) Compute, to deploy databases in a cloud environment. Practical tips and best practices to optimize performance and troubleshoot effect- ePub + Mobi 80 pkt
(38,90 zł najniższa cena z 30 dni)
80.91 zł
89.90 zł (-10%) -
Promocja
Toolkit for unlocking the power of Amazon RDS and propelling businesses toward success in the digital age Key Features Explore Amazon RDS by covering basics to advanced MySQL management on the platform. Real-world examples and hands-on tutorials to apply gained knowledge to solve challenges. Latest features, tools, and best practices in Amazon RDS- ePub + Mobi 80 pkt
(38,90 zł najniższa cena z 30 dni)
80.91 zł
89.90 zł (-10%) -
Promocja
Unveiling insights, unleashing potential: Navigating the depths of big data and analytics for a data-driven tomorrow Key Features Learn about big data and how it helps businesses innovate, grow, and make decisions efficiently. Learn about data collection, storage, processing, and analysis, along with tools and methods. Discover real-life examples- ePub + Mobi 80 pkt
(38,90 zł najniższa cena z 30 dni)
80.91 zł
89.90 zł (-10%) -
Promocja
Description MySQL Cookbook MySQL is a popular open-source database, and SQL is the top language for querying, creating, and managing data in databases. Developers and administrators widely use it for general and specific applications. MySQL powers business IT applications like CRM and ERP, APIs, web and e-commerce platforms, database management, da- ePub + Mobi 80 pkt
(38,90 zł najniższa cena z 30 dni)
80.91 zł
89.90 zł (-10%) -
Are you preparing for a job interview as a developer? If yes, you have come to the right place. This book contains a pool of 30 carefully selected SQL coding tasks, most often asked by recruiters. the book include deeply-explained, most commonly used data manipulation queries, relationships modeling, aggregation, sorting, table joins, index and oth
- PDF + ePub + Mobi 24 pkt
O autorze książki
Guy Harrison projektuje bazy danych od połowy lat 80. zeszłego stulecia i stał się niekwestionowanym autorytetem w tej dziedzinie. Napisał wiele książek poświęconych projektowaniu baz danych i optymalizacji ich wydajności. Obecnie kieruje zespołem rozwijającym rodziny produktów Toad, Spotlight i Shareplex w firmie Dell. Mieszka w Melbourne w Australii ze swoją żoną, zmienną liczbą dorosłych dzieci, kotem, trzema psami i ogromnym królikiem „zabójcą”.
Guy Harrison, Steven Feuerstein - pozostałe książki
-
Promocja
Get the lowdown on CockroachDB, the elastic SQL database built to handle the demands of today's data-driven world. With this practical guide, software developers, architects, and DevOps teams will discover the advantages of building on a distributed SQL database. You'll learn how to create applications that scale elastically and provide seamless de- ePub + Mobi 228 pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Promocja
Ta książka szczególnie przyda się architektom technologii informatycznych, administratorom baz danych i projektantom, którzy do wykonywania swoich obowiązków potrzebują wiedzy o najświeższych rozwiązaniach z dziedziny technologii baz danych. Omówiono tu najnowsze, wykorzystywane obecnie technologie baz danych. Wyjaśniono, w jakim celu zaprojektowano każdą z nich. Zaprezentowano możliwości poszczególnych baz danych oraz ich potencjał w rozwiązywaniu realnych problemów biznesowych i problemów z aplikacjami. Co najważniejsze, ukazano różnice w architekturze między technologiami, które mają kluczowe znaczenie przy wyborze platformy baz danych dla nowych i planowanych projektów.- PDF + ePub + Mobi
- Druk 27 pkt
(19,90 zł najniższa cena z 30 dni)
27.45 zł
54.90 zł (-50%) -
Oracle is the most popular database management system in use today, and PL/SQL plays a pivotal role in current and projected Oracle products and applications. PL/SQL is a programming language providing procedural extensions to the SQL relational database language and to an ever-growing number of oracle development tools. originally a rather limited
- ePub + Mobi 179 pkt
Niedostępna
-
Promocja
Be more productive with the Oracle PL/SQL language. The fifth edition of this popular pocket reference puts the syntax of specific PL/SQL language elements right at your fingertips, including features added in Oracle Database 12c.Whether you’re a developer or database administrator, when you need answers quickly, the Oracle PL/SQL Language Pocket R- ePub + Mobi 50 pkt
(46,74 zł najniższa cena z 30 dni)
50.91 zł
59.90 zł (-15%) -
Promocja
Considered the best Oracle PL/SQL programming guide by the Oracle community, this definitive guide is precisely what you need to make the most of Oracle’s powerful procedural language. The sixth edition describes the features and capabilities of PL/SQL up through Oracle Database 12c Release 1.Hundreds of thousands of PL/SQL developers have benefite- ePub + Mobi 211 pkt
(203,15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł (-15%) -
Promocja
In this compact book, Steven Feuerstein, widely recognized as one of the world's leading experts on the Oracle PL/SQL language, distills his many years of programming, teaching, and writing about PL/SQL into a set of best practices-recommendations for developing successful applications. Covering the latest Oracle release, Oracle Database 11gR2, Feu- ePub + Mobi 92 pkt
(56,94 zł najniższa cena z 30 dni)
92.65 zł
109.00 zł (-15%) -
Promocja
PL/SQL, Oracle's powerful procedural language, has been the cornerstone of Oracle application development for nearly 15 years. Although primarily a tool for developers, PL/SQL has also become an essential tool for database administration, as DBAs take increasing responsibility for site performance and as the lines between developers and DBAs blur.U- ePub + Mobi 135 pkt
(89,92 zł najniższa cena z 30 dni)
135.15 zł
159.00 zł (-15%) -
Promocja
For the past ten years, O'Reilly's Oracle PL/SQL Programming has been the bestselling book on PL/SQL, Oracle's powerful procedural language. Packed with examples and helpful recommendations, the book has helped everyone--from novices to experienced developers, and from Oracle Forms developers to database administrators--make the most of PL/SQL.The- ePub + Mobi 194 pkt
(186,15 zł najniższa cena z 30 dni)
194.65 zł
228.99 zł (-15%) -
PL/SQL -- język programowania systemu Oracle, przeznaczony do tworzenia procedur magazynowanych -- zapewnia ogromne możliwości piszącym oprogramowanie baz danych. PL/SQL rozszerza standard języka relacyjnych baz danych SQL poprzez umożliwienie korzystania z takich konstrukcji, jak: pętle, instrukcje IF-THEN, złożone struktury danych czy szerokie możliwości kontroli operacji transakcyjnych. Wszystkie z nich są ściśle zintegrowane z serwerem bazy danych Oracle.
- Druk 79 pkt
Czasowo niedostępna
-
Promocja
In this book, Steven Feuerstein, widely recognized as one of the world's experts on the Oracle PL/SQL language, distills his many years of programming, writing, and teaching about PL/SQL into a set of PL/SQL language "best practices"--rules for writing code that is readable, maintainable, and efficient. Too often, developers focus on simply writing- ePub + Mobi 55 pkt
(50,91 zł najniższa cena z 30 dni)
55.24 zł
64.98 zł (-15%)
Ebooka "MySQL Stored Procedure Programming" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "MySQL Stored Procedure Programming" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "MySQL Stored Procedure Programming" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły książki
- ISBN Ebooka:
- 978-14-493-7913-1, 9781449379131
- Data wydania ebooka :
- 2006-03-28 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- 1
- Rozmiar pliku ePub:
- 7.4MB
- Rozmiar pliku Mobi:
- 7.4MB
Spis treści książki
- MySQL Stored Procedure Programming
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Advance Praise for MySQL Stored Procedure Programming
- Preface
- Objectives of This Book
- Structure of This Book
- What This Book Does Not Cover
- Conventions Used in This Book
- Which Version?
- Resources Available at the Books Web Site
- Using Code Examples
- Safari Enabled
- How to Contact Us
- Acknowledgments
- I. Stored Programming Fundamentals
- 1. Introduction to MySQL Stored Programs
- 1.1. What Is a Stored Program?
- 1.1.1. Why Use Stored Programs?
- 1.1.2. A Brief History of MySQL
- 1.1.3. MySQL Stored Procedures, Functions, and Triggers
- 1.2. A Quick Tour
- 1.2.1. Integration with SQL
- 1.2.2. Control and Conditional Logic
- 1.2.3. Stored Functions
- 1.2.4. When Things Go Wrong
- 1.2.5. Triggers
- 1.3. Resources for Developers Using Stored Programs
- 1.3.1. Books
- 1.3.2. Internet Resources
- 1.4. Some Words of Advice for Developers
- 1.4.1. Don't Be in Such a Hurry!
- 1.4.2. Don't Be Afraid to Ask for Help
- 1.4.3. Take a Creative, Even Radical Approach
- 1.5. Conclusion
- 1.1. What Is a Stored Program?
- 2. MySQL Stored Programming Tutorial
- 2.1. What You Will Need
- 2.2. Our First Stored Procedure
- 2.2.1. Creating the Procedure
- 2.2.2. Creating the Procedure Using the MySQL Query Browser
- 2.3. Variables
- 2.4. Parameters
- 2.4.1. Parameter Modes
- 2.5. Conditional Execution
- 2.6. Loops
- 2.7. Dealing with Errors
- 2.8. Interacting with the Database
- 2.8.1. SELECTing INTO Local Variables
- 2.8.2. Using Cursors
- 2.8.3. Returning Result Sets from Stored Procedures
- 2.8.4. Embedding Non-SELECTs
- 2.9. Calling Stored Programs from Stored Programs
- 2.10. Putting It All Together
- 2.11. Stored Functions
- 2.12. Triggers
- 2.13. Calling a Stored Procedure from PHP
- 2.14. Conclusion
- 3. Language Fundamentals
- 3.1. Variables, Literals, Parameters, and Comments
- 3.1.1. Variables
- 3.1.2. Literals
- 3.1.3. Rules for Variable Names
- 3.1.4. Assigning Values to Variables
- 3.1.5. Parameters
- 3.1.6. User Variables
- 3.1.7. Comments
- 3.2. Operators
- 3.2.1. Mathematical Operators
- 3.2.2. Comparison Operators
- 3.2.3. Logical Operators
- 3.2.4. Bitwise Operators
- 3.3. Expressions
- 3.4. Built-in Functions
- 3.5. Data Types
- 3.5.1. String Data Types
- 3.5.1.1. The ENUM data type
- 3.5.1.2. The SET data type
- 3.5.2. Numeric Data Types
- 3.5.3. Date and Time Data Types
- 3.5.4. TEXT and BLOB Data Types
- 3.5.1. String Data Types
- 3.6. MySQL 5 "Strict" Mode
- 3.6.1. Stored Program Behavior and Strict Mode
- 3.6.2. Program Examples
- 3.7. Conclusion
- 3.1. Variables, Literals, Parameters, and Comments
- 4. Blocks, Conditional Statements, and Iterative Programming
- 4.1. Block Structure of Stored Programs
- 4.1.1. Structure of a Block
- 4.1.2. Nested Blocks
- 4.2. Conditional Control
- 4.2.1. The IF Statement
- 4.2.1.1. TRUE or FALSE (or neither)?
- 4.2.1.2. Simple IF-THEN combinations
- 4.2.1.3. IF-THEN-ELSE statements
- 4.2.1.4. IF-THEN-ELSEIF-ELSE statements
- 4.2.2. The CASE Statement
- 4.2.2.1. Simple CASE statement
- 4.2.2.2. "Searched" CASE statement
- 4.2.3. IF Versus CASE
- 4.2.1. The IF Statement
- 4.3. Iterative Processing with Loops
- 4.3.1. LOOP Statement
- 4.3.2. LEAVE Statement
- 4.3.3. ITERATE Statement
- 4.3.4. REPEAT ... UNTIL Loop
- 4.3.5. WHILE Loop
- 4.3.6. Nested Loops
- 4.3.7. Parting Comments on Loops
- 4.4. Conclusion
- 4.1. Block Structure of Stored Programs
- 5. Using SQL in Stored Programming
- 5.1. Using Non-SELECT SQL in Stored Programs
- 5.2. Using SELECT Statements with an INTO Clause
- 5.3. Creating and Using Cursors
- 5.3.1. Defining a Cursor
- 5.3.2. Cursor Statements
- 5.3.3. Fetching a Single Row from a Cursor
- 5.3.4. Fetching an Entire Result Set
- 5.3.5. Types of Cursor Loops
- 5.3.6. Nested Cursor Loops
- 5.3.7. Exiting the Cursor Loop Prematurely
- 5.3.8. Cursor Error Conditions
- 5.4. Using Unbounded SELECT Statements
- 5.4.1. Retrieving the Result Sets in the Calling Program
- 5.4.2. Returning Result Sets to Another Stored Procedure
- 5.5. Performing Dynamic SQL with Prepared Statements
- 5.6. Handling SQL Errors: A Preview
- 5.7. Conclusion
- 6. Error Handling
- 6.1. Introduction to Error Handling
- 6.1.1. A Simple First Example
- 6.1.2. Handling Last Row Conditions
- 6.2. Condition Handlers
- 6.2.1. Types of Handlers
- 6.2.2. Handler Conditions
- 6.2.3. Handler Examples
- 6.2.4. Handler Precedence
- 6.2.5. Scope of Condition Handlers
- 6.3. Named Conditions
- 6.4. Missing SQL:2003 Features
- 6.4.1. Directly Accessing SQLCODE or SQLSTATE
- 6.4.2. Creating Your Own Exceptions with the SIGNAL Statement
- 6.4.3. Emulating the SIGNAL Statement
- 6.5. Putting It All Together
- 6.6. Handling Stored Program Errors in the Calling Application
- 6.6.1. PHP
- 6.6.2. Perl
- 6.6.3. Java/JDBC
- 6.6.4. Python
- 6.6.5. C# .NET
- 6.6.6. Visual Basic .NET
- 6.7. Conclusion
- 6.1. Introduction to Error Handling
- 1. Introduction to MySQL Stored Programs
- II. Stored Program Construction
- 7. Creating and Maintaining Stored Programs
- 7.1. Creating Stored Programs
- 7.1.1. Editing Stored Programs Using a System Editor
- 7.1.2. Using the MySQL Query Browser
- 7.1.3. Using Third-Party Tools
- 7.1.4. Handling Semicolons in Stored Program Code
- 7.2. Editing an Existing Stored Program
- 7.2.1. Editing a Program in Place
- 7.2.2. Maintaining Stored Programs in External Files
- 7.3. SQL Statements for Managing Stored Programs
- 7.3.1. CREATE PROCEDURE
- 7.3.2. CREATE FUNCTION
- 7.3.3. CREATE TRIGGER
- 7.3.4. ALTER PROCEDURE/FUNCTION
- 7.3.5. DROP PROCEDURE/FUNCTION/TRIGGER
- 7.4. Getting Information About Stored Programs
- 7.4.1. SHOW PROCEDURE/FUNCTION STATUS
- 7.4.2. SHOW CREATE PROCEDURE/FUNCTION
- 7.4.3. INFORMATION_SCHEMA.ROUTINES Table
- 7.4.4. INFORMATION_SCHEMA.TRIGGERS Table
- 7.5. Conclusion
- 7.1. Creating Stored Programs
- 8. Transaction Management
- 8.1. Transactional Support in MySQL
- 8.1.1. Isolation Levels
- 8.1.2. Transaction Management Statements
- 8.2. Defining a Transaction
- 8.3. Working with Savepoints
- 8.4. Transactions and Locks
- 8.4.1. Situations in Which Locks Arise
- 8.4.2. Deadlocks
- 8.4.3. Lock Timeouts
- 8.4.4. Optimistic and Pessimistic Locking Strategies
- 8.4.4.1. Pessimistic locking strategy
- 8.4.4.2. Optimistic locking strategy
- 8.4.4.3. Choosing between strategies
- 8.5. Transaction Design Guidelines
- 8.6. Conclusion
- 8.1. Transactional Support in MySQL
- 9. MySQL Built-in Functions
- 9.1. String Functions
- 9.1.1. ASCII
- 9.1.2. CHAR
- 9.1.3. CHARSET
- 9.1.4. CONCAT
- 9.1.5. CONCAT_WS
- 9.1.6. INSERT
- 9.1.7. INSTR
- 9.1.8. LCASE
- 9.1.9. LEFT
- 9.1.10. LENGTH
- 9.1.11. LOAD_FILE
- 9.1.12. LOCATE
- 9.1.13. LPAD
- 9.1.14. LTRIM
- 9.1.15. REPEAT
- 9.1.16. REPLACE
- 9.1.17. RPAD
- 9.1.18. RTRIM
- 9.1.19. STRCMP
- 9.1.20. SUBSTRING
- 9.1.21. TRIM
- 9.1.22. UCASE
- 9.1.23. Other String Functions
- 9.2. Numeric Functions
- 9.2.1. ABS
- 9.2.2. BIN
- 9.2.3. CEILING
- 9.2.4. CONV
- 9.2.5. FLOOR
- 9.2.6. FORMAT
- 9.2.7. HEX
- 9.2.8. LEAST
- 9.2.9. MOD
- 9.2.10. POWER
- 9.2.11. RAND
- 9.2.12. ROUND
- 9.2.13. SIGN
- 9.2.14. SQRT
- 9.2.15. Other Numeric Functions
- 9.3. Date and Time Functions
- 9.3.1. ADDTIME
- 9.3.2. CONVERT_TZ
- 9.3.3. CURRENT_DATE
- 9.3.4. CURRENT_TIME
- 9.3.5. CURRENT_TIMESTAMP
- 9.3.6. DATE
- 9.3.7. DATE_ADD
- 9.3.8. DATE_FORMAT
- 9.3.9. DATE_SUB
- 9.3.10. DATEDIFF
- 9.3.11. DAY
- 9.3.12. DAYNAME
- 9.3.13. DAYOFWEEK
- 9.3.14. DAYOFYEAR
- 9.3.15. EXTRACT
- 9.3.16. GET_FORMAT
- 9.3.17. MAKEDATE
- 9.3.18. MAKETIME
- 9.3.19. MONTHNAME
- 9.3.20. NOW
- 9.3.21. SEC_TO_TIME
- 9.3.22. STR_TO_DATE
- 9.3.23. TIME_TO_SEC
- 9.3.24. TIMEDIFF
- 9.3.25. TIMESTAMP
- 9.3.26. TIMESTAMPADD
- 9.3.27. TIMESTAMPDIFF
- 9.3.28. WEEK
- 9.3.29. WEEKDAY
- 9.3.30. YEAR
- 9.3.31. YEARWEEK
- 9.3.32. Other Date and Time Functions
- 9.4. Other Functions
- 9.4.1. BENCHMARK
- 9.4.2. COALESCE
- 9.4.3. CURRENT_USER
- 9.4.4. DATABASE
- 9.4.5. GET_LOCK
- 9.4.6. IFNULL
- 9.4.7. INTERVAL
- 9.4.8. IS_FREE_LOCK
- 9.4.9. ISNULL
- 9.4.10. NULLIF
- 9.4.11. RELEASE_LOCK
- 9.4.12. SESSION_USER
- 9.4.13. SYSTEM_USER
- 9.4.14. USER
- 9.4.15. UUID
- 9.4.16. VERSION
- 9.5. Conclusion
- 9.1. String Functions
- 10. Stored Functions
- 10.1. Creating Stored Functions
- 10.1.1. The RETURN Statement
- 10.1.2. Parameters to Stored Functions
- 10.1.3. The DETERMINISTIC and SQL Clauses
- 10.2. SQL Statements in Stored Functions
- 10.3. Calling Stored Functions
- 10.4. Using Stored Functions in SQL
- 10.4.1. Using SQL in Stored Functions
- 10.5. Conclusion
- 10.1. Creating Stored Functions
- 11. Triggers
- 11.1. Creating Triggers
- 11.1.1. Referring to Column Values Within the Trigger
- 11.1.2. Triggering Actions
- 11.1.3. BEFORE and AFTER Triggers
- 11.2. Using Triggers
- 11.2.1. Maintaining Derived Data
- 11.2.2. Implementing Logging
- 11.2.3. Validating Data with Triggers
- 11.3. Trigger Overhead
- 11.4. Conclusion
- 11.1. Creating Triggers
- 7. Creating and Maintaining Stored Programs
- III. Using MySQL Stored Programs in Applications
- 12. Using MySQL Stored Programs in Applications
- 12.1. The Pros and Cons of Stored Programs in Modern Applications
- 12.2. Advantages of Stored Programs
- 12.2.1. They Enhance Database Security
- 12.2.2. They Provide a Mechanism for Data Abstraction
- 12.2.3. They Reduce Network Traffic
- 12.2.4. They Allow for Common Routines Across Multiple Application Types
- 12.2.5. They Facilitate Division of Duties
- 12.2.6. They May Provide Portability
- 12.3. Disadvantages of Stored Programs
- 12.3.1. They Can Be Computationally Inferior
- 12.3.2. They Can Lead to Logic Fragmentation
- 12.3.3. They Do Not Provide Portability
- 12.4. Calling Stored Programs from Application Code
- 12.4.1. Preparing a Stored Program Call for Execution
- 12.4.2. Registering Parameters
- 12.4.3. Setting Output Parameters
- 12.4.4. Executing the Stored Program
- 12.4.5. Retrieving Result Sets
- 12.4.6. Retrieving Output Parameters
- 12.4.7. Closing or Re-Executing the Stored Program
- 12.4.8. Calling Stored Functions
- 12.5. Conclusion
- 13. Using MySQL Stored Programs with PHP
- 13.1. Options for Using MySQL with PHP
- 13.2. Using PHP with the mysqli Extension
- 13.2.1. Enabling the mysqli Extension
- 13.2.2. Connecting to MySQL
- 13.2.3. Checking for Errors
- 13.2.4. Executing a Simple Non-SELECT Statement
- 13.2.5. Retrieving a Result Set
- 13.2.6. Managing Transactions
- 13.2.7. Using Prepared Statements
- 13.2.8. Retrieving Result Sets from Prepared Statements
- 13.2.9. Getting Result Set Metadata
- 13.2.10. Processing a Dynamic Result Set
- 13.2.11. Calling Stored Programs with mysqli
- 13.2.12. Handling Output Parameters
- 13.2.13. Retrieving Multiple Result Sets
- 13.3. Using MySQL with PHP Data Objects
- 13.3.1. Connecting to MySQL
- 13.3.2. Executing a Simple Non-SELECT Statement
- 13.3.3. Catching Errors
- 13.3.4. Managing Transactions
- 13.3.5. Issuing a One-Off Query
- 13.3.6. Using Prepared Statements
- 13.3.7. Binding Parameters to a Prepared Statement
- 13.3.8. Getting Result Set Metadata
- 13.3.9. Processing a Dynamic Result Set
- 13.3.10. Calling Stored Programs with PDO
- 13.3.11. Binding Input Parameters to Stored Programs
- 13.3.12. Handling Multiple Result Sets
- 13.3.13. Handling Output Parameters
- 13.3.14. A Complete Example
- 13.4. Conclusion
- 14. Using MySQL Stored Programs with Java
- 14.1. Review of JDBC Basics
- 14.1.1. Installing the Driver and Configuring Your IDE
- 14.1.2. Registering the Driver and Connecting to MySQL
- 14.1.3. Issuing a Non-SELECT Statement
- 14.1.4. Issuing a SELECT and Retrieving a Result Set
- 14.1.5. Getting Result Set Metadata
- 14.1.6. Using Prepared Statements
- 14.1.7. Handling Transactions
- 14.1.8. Handling Errors
- 14.2. Using Stored Programs in JDBC
- 14.2.1. Using the CallableStatement Interface
- 14.2.2. Registering OUT Variables
- 14.2.3. Supplying Input Parameters
- 14.2.4. Executing the Procedure
- 14.2.5. Retrieving a Result Set
- 14.2.6. Retrieving Multiple Result Sets
- 14.2.7. Dynamically Processing Result Sets
- 14.2.8. Retrieving Output Parameter Values
- 14.3. Stored Programs and J2EE Applications
- 14.3.1. Using Stored Programs Within Java Servlets
- 14.3.2. Using Stored Programs from EJB
- 14.4. Using Stored Procedures with Hibernate
- 14.4.1. Hibernate Support for MySQL Stored Procedures
- 14.4.2. Using a Stored Procedure to Load an Object
- 14.4.3. Hibernate Queries
- 14.4.4. Using Stored Procedures for Persistence
- 14.5. Using Stored Procedures with Spring
- 14.6. Conclusion
- 14.1. Review of JDBC Basics
- 15. Using MySQL Stored Programs with Perl
- 15.1. Review of Perl DBD::mysql Basics
- 15.1.1. Installing DBD::mysql
- 15.1.1.1. Installing DBD::mysql on Linux or Unix
- 15.1.1.2. Installing DBD::mysql on Windows
- 15.1.2. Connecting to MySQL
- 15.1.2.1. Connection attributes
- 15.1.3. Handling Errors
- 15.1.4. Issuing a Simple One-off Statement
- 15.1.5. Preparing a Statement for Reuse
- 15.1.6. Using Bind Variables
- 15.1.7. Issuing a Query and Retrieving Results
- 15.1.8. There's More Than One Way To Do It
- 15.1.8.1. fetchrow_arrayref method
- 15.1.8.2. fetchrow_hashref method
- 15.1.8.3. fetchall_arrayref method
- 15.1.8.4. dump_results method
- 15.1.8.5. bind_col and fetch methods
- 15.1.9. Getting Result Set Metadata
- 15.1.10. Performing Transaction Management
- 15.1.1. Installing DBD::mysql
- 15.2. Executing Stored Programs with DBD::mysql
- 15.2.1. Handling Multiple Result Sets
- 15.2.2. Handling Dynamic Result Sets
- 15.2.3. Handling Output Variables
- 15.2.4. A Complete Example
- 15.3. Conclusion
- 15.1. Review of Perl DBD::mysql Basics
- 16. Using MySQL Stored Programs with Python
- 16.1. Installing the MySQLdb Extension
- 16.2. MySQLdb Basics
- 16.2.1. Creating a Connection
- 16.2.2. Handling Exceptions
- 16.2.3. Executing a Simple Statement
- 16.2.4. Passing Parameters to a Statement
- 16.2.5. Retrieving Rows from a Query
- 16.2.6. Managing Transactions
- 16.2.7. Getting Metadata
- 16.2.8. Dynamically Processing a Result Set
- 16.3. Using Stored Programs with MySQLdb
- 16.3.1. Calling Simple Stored Programs
- 16.3.2. Retrieving a Single Stored Program Result Set
- 16.3.3. Retrieving Multiple Stored Program Result Sets
- 16.3.4. Retrieving Dynamic Result Sets
- 16.3.5. Obtaining Output Parameters
- 16.4. A Complete Example
- 16.5. Conclusion
- 17. Using MySQL Stored Programs with .NET
- 17.1. Review of ADO.NET Basics
- 17.1.1. Installing the Connector/Net Driver and Configuring Your IDE
- 17.1.2. Registering the Driver and Connecting to MySQL
- 17.1.3. Issuing a Non-SELECT Statement
- 17.1.4. Reusing a Statement Object
- 17.1.5. Using Parameters
- 17.1.6. Issuing a SELECT and Using a DataReader
- 17.1.7. Getting DataReader Metadata
- 17.1.8. DataSets
- 17.1.9. Handling Errors
- 17.1.10. Managing Transactions
- 17.2. Using Stored Programs in ADO.NET
- 17.2.1. Calling a Simple Stored Procedure
- 17.2.2. Supplying Input Parameters
- 17.2.3. Using a DataReader with a Stored Program
- 17.2.4. Processing Multiple Result Sets in a DataReader
- 17.2.5. Dynamically Processing Result Sets
- 17.2.6. Using DataSets with Stored Programs
- 17.2.7. Retrieving Output Parameters
- 17.2.8. Calling Stored Functions
- 17.3. Using Stored Programs in ASP.NET
- 17.4. Conclusion
- 17.1. Review of ADO.NET Basics
- 12. Using MySQL Stored Programs in Applications
- IV. Optimizing Stored Programs
- 18. Stored Program Security
- 18.1. Permissions Required for Stored Programs
- 18.1.1. Granting Privileges to Create a Stored Program
- 18.1.2. Granting Privileges to Modify a Stored Program
- 18.1.3. Granting Privileges to Execute a Stored Program
- 18.2. Execution Mode Options for Stored Programs
- 18.2.1. The SQL SECURITY Clause
- 18.2.2. Using Definer Rights to Implement Security Policies
- 18.2.3. Stored Program or View?
- 18.2.4. Handling Invoker Rights Errors
- 18.3. Stored Programs and Code Injection
- 18.3.1. Protecting Against SQL Injection with Stored Programs
- 18.3.2. SQL Injection in Stored Programs
- 18.4. Conclusion
- 18.1. Permissions Required for Stored Programs
- 19. Tuning Stored Programs and Their SQL
- 19.1. Why SQL Tuning Is So Important
- 19.1.1. An Instructive Example
- 19.2. How MySQL Processes SQL
- 19.2.1. Parsing SQL
- 19.2.2. Caching
- 19.2.2.1. Buffer pool and key cache
- 19.2.2.2. Table cache
- 19.2.2.3. Query cache
- 19.2.2.4. Table statistics
- 19.3. SQL Tuning Statements and Practices
- 19.3.1. EXPLAIN Statement
- 19.3.2. EXPLAIN and Stored Programs
- 19.3.3. Details of the EXPLAIN Output
- 19.3.4. Extended EXPLAIN
- 19.3.5. Optimizer Hints
- 19.3.6. Measuring SQL and Stored Program Execution
- 19.3.7. The Slow Query Log
- 19.4. About the Upcoming Examples
- 19.5. Conclusion
- 19.1. Why SQL Tuning Is So Important
- 20. Basic SQL Tuning
- 20.1. Tuning Table Access
- 20.1.1. Index Lookup Versus Full Table Scan
- 20.1.2. How MySQL Chooses Between Indexes
- 20.1.3. Manually Choosing an Index
- 20.1.4. Prefixed ("Partial") Indexes
- 20.1.5. Concatenated Indexes
- 20.1.5.1. Merging multiple indexes
- 20.1.5.2. Covering indexes
- 20.1.6. Comparing the Different Indexing Approaches
- 20.1.7. Avoiding Accidental Table Scans
- 20.1.7.1. Accidentally suppressing an index using a function
- 20.1.7.2. Accidentally suppressing an index using a substring
- 20.1.7.3. Creating concatenated indexes with a poor column order
- 20.1.8. Optimizing Necessary Table Scans
- 20.1.9. Using Merge or Partitioned Tables
- 20.2. Tuning Joins
- 20.2.1. How MySQL Joins Tables
- 20.2.2. Joins Without Indexes
- 20.2.3. Joins with Indexes
- 20.2.4. Join Order
- 20.2.5. A Simple Join Example
- 20.3. Conclusion
- 20.1. Tuning Table Access
- 21. Advanced SQL Tuning
- 21.1. Tuning Subqueries
- 21.1.1. Optimizing Subqueries
- 21.1.2. Rewriting a Subquery as a Join
- 21.1.3. Using Subqueries in Complex Joins
- 21.2. Tuning "Anti-Joins" Using Subqueries
- 21.2.1. Optimizing an Anti-Join
- 21.3. Tuning Subqueries in the FROM Clause
- 21.3.1. Using Views
- 21.4. Tuning ORDER and GROUP BY
- 21.4.1. Creating an Index to Avoid a Sort
- 21.4.2. Reducing Sort Overhead by Increasing Sort Memory
- 21.5. Tuning DML (INSERT, UPDATE, DELETE)
- 21.5.1. Batching Inserts
- 21.5.2. Optimizing DML by Reducing Commit Frequency
- 21.5.3. Triggers and DML Performance
- 21.6. Conclusion
- 21.1. Tuning Subqueries
- 22. Optimizing Stored Program Code
- 22.1. Performance Characteristics of Stored Programs
- 22.2. How Fast Is the Stored Program Language?
- 22.3. Reducing Network Traffic with Stored Programs
- 22.4. Stored Programs as an Alternative to Expensive SQL
- 22.4.1. Avoid Self-Joins with Procedural Logic
- 22.4.2. Optimize Correlated Updates
- 22.5. Optimizing Loops
- 22.5.1. Move Unnecessary Statements Out of a Loop
- 22.5.2. Use LEAVE or CONTINUE to Avoid Needless Processing
- 22.6. IF and CASE Statements
- 22.6.1. Test for the Most Likely Conditions First
- 22.6.2. Avoid Unnecessary Comparisons
- 22.6.3. CASE Versus IF
- 22.7. Recursion
- 22.8. Cursors
- 22.9. Trigger Overhead
- 22.10. Conclusion
- 23. Best Practices in MySQL Stored Program Development
- 23.1. The Development Process
- DEV-01: Set standards and guidelines before writing any code
- DEV-02: Ask for help after 30 minutes on a problem
- DEV-03: Walk through each other's code
- DEV-04: Use independent testers for functional sign-off
- DEV-05: Use source controlled files to maintain the "reference" copy of your stored routines
- 23.2. Coding Style and Conventions
- STYL-01: Adopt a consistent, readable format that is easy to maintain
- STYL-02: Adopt logical, consistent naming conventions for modules and data structures
- STYL-03: Self-document using block and loop labels
- STYL-04: Express complex expressions unambiguously using parentheses
- STYL-05: Use vertical code alignment to emphasize vertical relationships
- STYL-06: Comment tersely with value-added information
- 23.3. Variables
- DAT-01: Use a consistent and meaningful variable naming style
- DAT-02: Avoid overriding variable declarations within "inner" blocks
- DAT-03: Replace complex expressions with functions
- DAT-04: Remove unused variables and code
- DAT-05: Don't assume that the result of an expression is TRUE or FALSE; it could be NULL
- DAT-06: Employ "user" variables for global data sparingly
- DAT-07: Create stored programs in strict mode to avoid invalid data assignments
- 23.4. Conditional Logic
- IF-01: Use ELSEIF with mutually exclusive clauses
- IF-02: Use IF...ELSEIF only to test a single, simple condition
- IF-03: Make sure that a CASE statement is inclusive , or construct a handler to catch any unmatched cases
- IF-04: Use CASE and IF consistently
- 23.5. Loop Processing
- LOOP-01: Make sure the loop will terminate
- LOOP-02: Make the termination conditions of a loop obvious
- LOOP-03: Use a single LEAVE in simple loops
- LOOP-04: Use a simple loop to avoid redundant code required by a WHILE or REPEAT UNTIL loop
- 23.6. Exception Handling
- EXC-01: Handle exceptions that cannot be avoided but can be anticipated
- EXC-02: Use named conditions to improve code readability
- EXC-03: Be consistent in your use of SQLSTATE and MySQL error codes in exception handlers
- EXC-04: Avoid global SQLEXCEPTION handlers until MySQL implements SIGNAL and SQLCODE features
- 23.7. SQL in Stored Programs
- SQL-01: Start a transaction explicitly with the START TRANSACTION statement
- SQL-02: Don't leave transactions "dangling "
- SQL-03: Avoid use of savepoints they can obscure program logic and reduce program efficiency
- SQL-04: Use an appropriate locking strategy
- SQL-05: Keep transactions small
- SQL-06: Always reset the NOT FOUND variable after completing a cursor loop
- SQL-07: Use SELECT FOR UPDATE when retrieving rows for later update
- SQL-08: Avoid including SQL in functions that may be used in SQL
- 23.8. Dynamic SQL
- DYN-01: Bind, do not concatenate, variable values into dynamic SQL strings
- DYN-02: Carefully validate any parameter values that might be used to construct dynamic SQL
- DYN-03: Consider the invoker rights method for stored code that executes dynamic SQL
- 23.9. Program Construction
- PRG-01: Encapsulate business rules and formulas behind accurately named functions
- PRG-02: Standardize module structure using function and procedure templates
- PRG-03: Limit execution section sizes to a single page (50-60 lines) using modularization
- PRG-04: Avoid side-effects in your programs
- PRG-05: Avoid deep nesting of conditionals and loops
- PRG-06: Limit functions to a single RETURN statement in the executable section
- PRG-07: Use stored programs to implement code common to multiple triggers
- 23.10. Performance
- PER-01: Concentrate on tuning SQL to improve stored program performance
- PER-02: Carefully create the best set of indexes for your application
- PER-03: Avoid accidental table scans
- PER-04: Optimize necessary table scans
- PER-05: Avoid using stored programs for computationally expensive routines
- PER-06: Move loop invariant expressions outside of loops
- PER-07: Optimize conditional structures
- PER-08: Structure IF and CASE statements so more likely expressions appear earliest in the list
- 23.11. Conclusion
- 23.1. The Development Process
- 18. Stored Program Security
- About the Authors
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly
O'Reilly Media - inne książki
-
Nowość Promocja
Business decisions in any context—operational, tactical, or strategic—can have considerable consequences. Whether the outcome is positive and rewarding or negative and damaging to the business, its employees, and stakeholders is unknown when action is approved. These decisions are usually made under the proverbial cloud of uncertainty.With this pra- ePub + Mobi 194 pkt
(186,15 zł najniższa cena z 30 dni)
194.65 zł
228.99 zł (-15%) -
Nowość Promocja
If you're a developer looking to build a distributed, resilient, scalable, high-performance application, you may be evaluating distributed SQL and NoSQL solutions. Perhaps you're considering the Aerospike database.This practical book shows developers, architects, and engineers how to get the highly scalable and extremely low-latency Aerospike datab- ePub + Mobi 254 pkt
Aerospike: Up and Running. Developing on a Modern Operational Database for Globally Distributed Apps
(228,65 zł najniższa cena z 30 dni)
254.15 zł
299.00 zł (-15%) -
Nowość Promocja
Reinforcement learning (RL) has led to several breakthroughs in AI. The use of the Q-learning (DQL) algorithm alone has helped people develop agents that play arcade games and board games at a superhuman level. More recently, RL, DQL, and similar methods have gained popularity in publications related to financial research.This book is among the fir- ePub + Mobi 228 pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Nowość Promocja
Learn how to use Go's strengths to develop services that are scalable and resilient even in an unpredictable environment. With this book's expanded second edition, Go developers will explore the composition and construction of cloud native applications, from lower-level Go features and mid-level patterns to high-level architectural considerations.E- ePub + Mobi 228 pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Promocja
To ensure that applications are reliable and always available, more businesses today are moving applications to AWS. But many companies still struggle to design and build these cloud applications effectively, thinking that because the cloud is resilient, their applications will be too. With this practical guide, software, DevOps, and cloud engineer- ePub + Mobi 228 pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Promocja
Performance tuning is an experimental science, but that doesn't mean engineers should resort to guesswork and folklore to get the job done. Yet that's often the case. With this practical book, intermediate to advanced Java technologists working with complex platforms will learn how to tune Java cloud applications for performance using a quantitativ- ePub + Mobi 228 pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Promocja
Today, investment in financial technology and digital transformation is reshaping the financial landscape and generating many opportunities. Too often, however, engineers and professionals in financial institutions lack a practical and comprehensive understanding of the concepts, problems, techniques, and technologies necessary to build a modern, r- ePub + Mobi 228 pkt
(220,15 zł najniższa cena z 30 dni)
228.65 zł
269.00 zł (-15%) -
Promocja
Until recently, infrastructure was the backbone of organizations operating software they developed in-house. But now that cloud vendors run the computers, companies can finally bring the benefits of agile custom-centricity to their own developers. Adding product management to infrastructure organizations is now all the rage.But how's that possible- ePub + Mobi 194 pkt
(186,15 zł najniższa cena z 30 dni)
194.65 zł
228.99 zł (-15%) -
Promocja
Cloud services and SaaS software permeate every company's IT landscape, requiring a shift from manually provisioned services to a more structured approach, with codification at its core. Terraform provides tools to manage the lifecycle of your IT landscape across thousands of different cloud providers and SaaS platforms.By defining your infrastruct- ePub + Mobi 211 pkt
(194,65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł (-15%) -
Promocja
Using machine learning for products, services, and critical business processes is quite different from using ML in an academic or research setting—especially for recent ML graduates and those moving from research to a commercial environment. Whether you currently work to create products and services that use ML, or would like to in the future, this- ePub + Mobi 254 pkt
(245,65 zł najniższa cena z 30 dni)
254.15 zł
299.00 zł (-15%)
Dzięki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep@ebookpoint.pl
Książka drukowana
Oceny i opinie klientów: MySQL Stored Procedure Programming Guy Harrison, Steven Feuerstein (0) Weryfikacja opinii następuje na podstawie historii zamowień na koncie Użytkownika umiejszczającego opinię.