Learn about MySQL with relation to android development.
What is a Database?
A database, generally speaking, refers to any organized collection of data
There are several types of databases:
- Flat file databases ― these store data sequentially, often in plain text files.
- Hierarchical databases ― these organize data in parent/child relationships.
- Key-value/document-oriented databases ― these store free-form data indexed by a key or hash value.
- Relational databases ― these organize data in rows and tables. This is the most popular and is what we use in most of our examples.
What is MySQL ?
MySQL is an open source, multithreaded, relational database management system created by Michael "Monty" Widenius in 1995.
Many businesses these days develop and maintain custom software with MySQL. Additionally, majority of the most popular websites(e.g Wikipedia) and software use MySQL for their database.
One of the most prominent features of MySQL is its speed and scalability. Together with MariaDB, MySQL's identical twin brother/sister, tends of thousands of rows and billions of rows of data can efficiently be handled.
However, you can also use MySQL for small amounts of data, like we will do to store our PDF documents in this android pdf viewer app we will create.
Why do Alot of People Choose MySQL?
There are many RDBMS(Relational Database Management System) databases. However MySQL is the most popular.
This is because of the following factors:
- Speed. MySQL is fast. Its developers claim that MySQL is about the fastest database system you can get.You can investigate this claim by visiting here, a performance-comparison page on the MySQL Web site.
- Ease of use. Even though MySQL is highly performant, it's relative a simple database system. Setting it up and Administering it is much less complex than other large systems.
- Query language support. MySQL also provides support for SQL(Structured Query Language). SQL is the standard language of choice for almost all modern database systems.
- Capability. The MySQL server is multi-threaded. This implies that many clients can connect to it at the same time. Each client can use multiple databases simultaneously.
- Connectivity and security. MySQL is fully networked, and databases can be accessed from anywhere on the Internet. Hence you can share your data with anyone, anywhere. But MySQL has access control so that one person who shouldn’t see another’s data cannot.To provide additional security, MySQL supports encrypted connections using the Secure Sockets Layer (SSL) protocol.
- Availability and cost. MySQL is an Open Source project available under multiple licensing terms. First, it is available under the terms of the GNU General Public License (GPL).This means that MySQL is available without cost for most in-house uses. Second, for organizations that prefer or require formal arrangements or that do not want to be bound by the conditions of the GPL, commercial licenses are available.
What is MySQLi?
MySQLi is a PHP extension which allows us to access the functionality provided by MySQL 4.1 and above.
As an extension,
mysqli exposes APIs to the PHP programmer, to allow us work with MySQL database programmatically.
Normally there are three ways(APIs) of working with MySQL from database:
- PHP MySQLi extension.
- PHP MySQL extension.
- PHP Data Objects(PDO).
In this class we will use the most commonly used API which is
Advantages of MySQLi
MySQLi is the most popular API for working with MySQL database because of the following reasons:
- Provision of both Object Oriented and Procedural Interfaces.
- Embedded Server support.
- Support for Prepared Statements.
- Ability to use Multiple Statements.
- Transactions support.
You can find more information about mysqli here.