Top 3 Products & Services


Dated: Feb. 06, 2006

Related Categories

PHP Programming

By Donald W. Hyatt

Creating a New Table

It is rather easy to create new tables in MySQL. If the user is already connected to the database, just type the CREATE command specifying various information about the fields. Here is how the table scores was created.

mysql> CREATE TABLE scores (Name VARCHAR(20), Num INT(5));

The system will reply that the table is OK:

Query OK, 0 rows affected (0.00 sec)

It is better to identify one of the variables as the "PRIMARY KEY", a variable that is considered the main item in the table and something that should be unique. That variable must also be specified as "NOT NULL" so that a table entry cannot be added without this important value. In this case, it would be foolish to have scores listed for a nonexistant person, but it makes sense to have a person listed who may not have a score yet. We would also want the names of individuals in the table to be unique, so that there is no confusion as to who owns a certain score. Therefore, the PRIMARY KEY should be the Name field. The syntax for this modification is:

mysql> CREATE TABLE scores (Name VARCHAR(20) NOT NULL, Num INT(5), PRIMARY KEY (Name));

At this point, the table contains no entries, so a request to show its contents should return NULL.

Data Types for Fields in a Table

There are a number of types of fields that can be utilized when creating variables in a table. Here are a few of the more common data types:

  • INT(length)Creating a New Database Table
    Standard integer type. Can also be referenced as INTEGER.
  • FLOAT(length, decimals)
    Standard floating point decimal numeral. Can be referenced as REAL or DECIMAL.
  • DOUBLE(length, decimals)
    Double precision floating point value.
  • VARCHAR(length)
    Variable length character value. The variable length attribute minimizes storage so that empty space is not allocated in the database.
  • TEXT
    A block of ASCII text that is expected to be less than 64K long. If more space is needed, check out other variations such as LONGTEXT variables which can be up to 4GB in length.
  • BLOB
    Basically the same as TEXT except that the file type is binary. There are also variations that range from TINYBLOB of 255 characters to LONGBLOB which is 4GB in size.

Numerical values can also be assigned options such as UNSIGNED and ZEROFILL, and there are many more options depending upon the sophistication of the table design. There are ways to identify KEYS and INDEX traits, as well as whether fields cannot be NULL. Please check the MySQL web site under documentation for a complete listing.

Initializing a Table

The original creation of a table is sometimes difficult to fill, especially if there is quite a bit of data entry. Rather than using the insert command, it is often better to initialize the table from a data file of plain text information. The only requirement for the data is to be sure that the fields are listed in the same order as the way the table was created, with one line for each table row. Column values should be separated by tabs. The following command will load a textfile into the database from a file in the same directory in which MySQL was initially accessed:

mysql> LOAD DATA LOCAL INFILE "players.txt" INTO TABLE scores;

The system will respond:

Query OK, 8 rows affected (0.01 sec)

Records: 8 Deleted: 0 Skipped: 0 Warnings: 0

The text file "players.txt" had the names of the original 8 players, and it was loaded into the database. It is possible to provide paths to access files in other directories.

Getting Rid of Tables

Since tables can be created, then it will at some time be necessary to get rid of useless tables. The command to delete a table is called "DROP TABLE" and the syntax is rather straight forward:

mysql> DROP TABLE scores;

This will destroy the table and all of its contents.

Now that you've gotten free know-how on this topic, try to grow your skills even faster with online video training. Then finally, put these skills to the test and make a name for yourself by offering these skills to others by becoming a freelancer. There are literally 2000+ new projects that are posted every single freakin' day, no lie!

Previous Article

Next Article

Asim Shah's Comment
This article is very helpful for me.
11 Tue May 2010
Admin's Reply:

I hope you can help me as well by bring more of your friends to this site.