Of all the objects in a database, the table is, in my opinion, the most popular. Tables can be created manually and automatically. Creating a table manually is creating the table structure by filling in the required records in the database table design interface. Automatic creation can take one of the following forms:
- Using the command line to enter SQL statement as MySQL command line.
- Running SQL table creation in the database.
- Using scripts to run SQL statements at runtime, that is, when the application is running. Table is created dynamically in this way.
All the automated means involve using SQL (Structured Query Language). Structured Query Language (SQL) is a database language that allows a user to –
- Create the database and the structure of the relationship.
- Perform basic data management tasks such as inserting, modifying, and deleting data from relationships.
- Perform both simple and complex queries to transform raw data into information.
Structured Query Language (SQL) has two components –
- A data definition language (DDL) for defining the database.
- A Data Manipulation Language (DML) for retrieval and updating.
Data Definition Language (DDL) makes it possible to create and destroy database objects such as schemas, domains, tables, views and indexes. Examples of data definition language (DDL) are CREATE TABLE, CREATE VIEW, CREATE DATABASE, ALTER TABLE, DROP TABLE etc. Data Manipulation Language (DML) statements are SELECT, INSERT, UPDATE and DELETE. INSERT, UPDATE and DELETE statements are used to change the contents of the tables in the database. SELECT statement is used for query database.
The Data Definition Language (DDL) component of the Structured Query Language (SQL) is responsible for the dynamic creation of tables. Dynamic creation of a run table is very useful when a table is temporarily required for the purpose of storing intermediate records pending the time the final records are generated and stored in the final destination table. Such intermediate tables are created on an ad hoc basis and the exact time at which the table is created may not be known in advance. Let’s look at this and some other areas where the use of dynamic table creation can be applied.
- Batch Posting – This is a scenario in an online stock brokerage application where client accounting records are prepared in batches prior to record keeping and so many authorized individuals can create as many batches pending the record date if time cannot be predetermined. It can be after 1 day, 2 days, etc. depending on when the person finishes entering data for a given batch. Each batch is dynamically created with the CREATE TABLE statement as needed, and the uniqueness of the table name is ensured by dynamically assigning a unique name using a variable, e.g. Create TABLE $ batch name (for a PHP script). Each batch is posted to the journal with a unique reference number, and as soon as the publication is over after submitting the form, a DROP TABLE statement automatically removes that batch table from the database. Without dynamic table creation, this type of task would have been impossible.
- Application Installation – The power of dynamic table creation on run is also demonstrated in the installation of an Open Source program, where the database and all tables, some of which may also contain data, are all created and configured at once using CREATE DATABASE and CREATE TABLE statements.
- Database Recovery – With the use of Data Definition Language (DDL) in the structured query language (SQL), an entire database can be restored with the CREATE TABLE statement. The recovery script containing the CREATE TABLE statements recreates all the tables and uploads the backed up data to the relevant tables in the database within a blink of an eye.
Structured Query Language (SQL) and especially Data Definition Language (DDL) have generic syntax, but there are slight variations from one type of database implementation to another. The way you write a CREATE TABLE statement on MySQL deployment may not be exactly the same as in Microsoft SQL Server deployment. So you need to find out the specific syntax for your work database.
Creating a table dynamically at run increases the degree of application automation, and a highly automated application is what an average visitor would enjoy. When I visit a website, I’m only interested in what I see in the browser. When he sends out a search query, what happens back-end is not of interest to him. It is the search result that he is only interested in. But we as web developers look beyond the browser.
We are interested in what is going on as far as the database at run-time. For this reason, to be able to develop very dynamic locations, we need to continue to learn SQL (Structure Query Language) more and more. The preceding account for the dynamic creation of a table is a practical demonstration of this fact. There are many other cases where you can apply this concept apart from the three areas mentioned above. When developing an application, when the need arises to apply it, you will certainly know as long as you are aware of the concept.