MySQL for Beginners How to create a MySQL Database

Get the WebProNews Newsletter:

[ Business]

Whether you are an experienced web programmer or a complete novice attempting to provide data interactivity with your web site, MyQSL is an easy to use and free database solution that can allow you to store and configure data to be displayed on your web site.

The best way to create and manage a MySQL database is to download an open source (free) program called PhpMyAdmin. PHPMyAdmin allows you to manage all aspects of both your database structure and data from one easy to use interface. This tool is intended to handle the administration of MySQL over the Web.

This tool provides an interface that allows you to create and drop databases, create, drop, or alter tables, delete, edit, or add fields, execute any SQL statement, manage keys on fields, manage privileges, and import and export data into various formats. That sounds like a complicated set of activities, but the easy to use graphical tools make things quite simple and easy to understand. If you make a mistake, the software even provides instructions on where you made your error.

For a complete demo see: http://www.phpmyadmin.net/phpMyAdmin/ For documentation visit: http://www.phpmyadmin.net/home_page/docs.php

Most Linux based web hosting companies provide PhpMyAdmin as a standard feature with their packages. It is also available in a “Windows” IIS version. If your hosting provider does not already have this product installed they will often install it for you, or even allow you to install it yourself. Setup is quick and easy if you follow the step-by-step installation documentation.

Step One: Creating your new database

When you log in to your PhpMyAdmin welcome page, the first step is to enter a name for your new database in a text box provided. You can name your database anything that you wish, however if you are creating the database to use with a script or software package that you purchased somewhere, the script provider will often suggest a “preferred” database name. You should always create your database using the following format:

username_ databasename Example: myusername_mydatabase Your complete database name should always begin with your username followed by an underscore, then followed by the database name. This allows the server to know which user is in control of the new database, and it will also provide permission to access the database to only specific users. This also allows different users on the same server to use the same name for their own database, as you did, without interfering with your data – that is helpful if more than one user on your server bought similar software for their own site. They can then also use the software providers “preferred” database name.

Step Two: Creating a table for your new database

After you have created a database, the next step is to create a table, or even multiple tables, for you to store data. A table is the part of your new database that actually stores data.

You create a table by selecting the database that you created from the drop box list of databases. Once a database is selected a new form appears and asks for you to create a new table.

You must decide what you want to name your table and enter that name into the name box. Try to choose a name that reflects the type of data that will be stored in the table, such as orders, users, or inventory.

You then must decide how many “fields” or columns of data that you want to store for each record. If you need for the table to store five (5) different items, such as username, users email address, users telephone number, users account number, and the users age, than you would need five (5) fields. Simply enter the number 5 in the appropriate box. Once you hit create, the system will create a table and will add those fields into the table for you. Don’t worry about the number of fields you might need right now, as you can always add or delete fields later.

Step Three: Defining Fields

Once you have created your table you will be prompted to tell the database what features that you want each field to have. This looks complicated, but it’s not if you select your data type from the information below. You basically have to decide between three common data types and select the best choice for storing your data. If you make a mistake you can go back and edit the field.

If the field is to be used to store numbers, here are some choices:

TINYINT – A very small integer. The signed range is -128 to 127. SMALLINT – A small integer. The signed range is -32768 to 32767. MEDIUMINT – A medium-size integer. The signed range is -8388608 to 8388607. INT – A normal-size integer. The signed range is -2147483648 to 2147483647. BIGINT – A very large integer.

Some other less common number options include:

FLOAT- A floating-point number. DOUBLE – A double-precision floating-point number. DECIMAL – A packed exact fixed-point number.

If the field is to be used to store text or both text and numbers combined, here are some choices:

VARCHAR is for varying characters and can be up to 255 characters in length. TEXT is a column with a maximum length of 65,535 characters – easy to search. BLOB is a column with a maximum length of 65,535 characters – case- sensitive.

If the field is to be used to store dates, here are some choices:

DATE – A date. DATETIME – date and time combination. TIMESTAMP – useful for recording the date and time of an INSERT or UPDATE operation. TIME – A time.

Once you have selected the data type for your fileds you will need to let the system know how many characters that you will need to store in the field.

Example: if you are storing a username, you might want to select VARCHAR as your data type and allow up to 100 characters for that field. If you are creating a User Identification number you might want to select INT and allow up to six characters – that would allow you to have up to 999,999 users.

The last step to creating your data fields is to select any special attributes that you may find helpful. Some examples are:

Auto Increment : Auto-Increment fields are useful for assigning unique identification numbers for users, products, and customers, etc. By default, fields are incremented using number characters (like “1”, “2”).

Primary Key: The primary key is a data column that uniquely identifies a specific instance of that data. At least one of your fields must be a Primary Key. Username is an example of a good primary key. You do not want to have more than one individual having the same username.

Index Key: Allows you to speed up searches by designating a field as a preferred data source, especially when combining data from multiple tables.

Congratulations, once you have completed these steps you are ready to import data into your new database.

Don Beavers is an enterprise level PHP-MySQL programmer at the
Shopping Elf comparison guide.

MySQL for Beginners How to create a MySQL Database
Top Rated White Papers and Resources
  • kesavan

    There is a spelling mistake in your home page. please correct it (the mistake occurs in the third line change myqsl to mysql)

    • kesavan

      Why are you so anal that you have to post a typo you found. Do you feel special you found it first??? Do you feel smarter??? Its not even a spelling mistake!!! Any normal human being unlike yourself could plainly see this. Drop the potatoe chips and try to point out bigger problems people really give a crap about please. Jesus F’n Chirst!

      • http://www.midlandsnitrous.co.uk nitroman

        LOL – Yeah how anal Kesavan you should put your keys in a van and go for a very long drive.

        I.m getting an error : Cannot load mysql extension. Please check your PHP configuration. – Documentation.

        Does that mean im missing some *.dll load in php or something?


        • jaime

          si el piensa que corregir los errores ortograficos esta bien pues que lo haga, no es nada malo.

          • Guest

            go back to mexico senior

      • Guest

        potatoe in the above comment is misspelled, it should be ‘potato’


      Kesavan, if you are going to correct spelling, please make sure to use capital letter’s where needed. Thank you! IDIOT GET A LIFE!

    • Guest

      The fact that this guy has written the file to aid people then gets comments such as correct this instead of I have spotted a mistake and the refer to it amazes me.

      If you want to be pedantic it is actually MySQL

  • http://www.thaistyle.co.nz thai style

    Thanks for the very informative article about creating a MySQL database.

    This will be a great help to all the beginners out there!

  • http://www.oakleafacre.com Larry


    I am a newbie to establishing databases on line. I contacted support at Brinkster (my host) as how to use phpmyadmin and they can’t help me. 

    I downloaded phpmyadmin and I haven’t a clue as to how to open it. I am operating at a level below this article, at least as to how the program starts up. 

    I am a computer enthusiast not a pro. I operate my wife’s site and have taken many programing courses at the local community college.  I am a Mac user (please, I’m not egotistical about it), so I am used to GUI’s and do not know my way around a server apart from that.

    Any help as to how to get phpmyadmin up and running on my Brinkster account would be appreciated.

    Thanks so much,



    • Guest

      You need a host, where your getting your website hosted, log into the control panel, when u get there u will see a number of icons, look for the icon PhpMyAdmin.

      Before logging into this however you will need set set the user up and the MySQL database, this isnt the table just the file that will hold the data/table(s).

      Hope this helps

  • Robert

    Am a student interested in learning how to get started with MYSQL

  • Robert

    Am student interested in learning how to use MYSQL

  • Robert


  • http://www.cockeyed.com Guest

    Wow. A lot of hostility in this comments thread. Thank you for the article.

  • Guest

    how to create MySQL database

  • Guest

    what setting do you put to create a Username and Password Database?????????

  • http://www.xclamationdesign.co.uk Xclamation Design

    Nice work Don…

  • Guest

    potatoe in the above comment is misspelled, it should be ‘potato’

  • Guest

    I have just been introduced to MySQL, I am currently trying to set one up, I have the use, I have the table partially done.

    I have identified the PK out of the 6 fields, I am just trying to set up a simple guestbook at the moment and then maybe be a little more adventurous however I am in PhpMyAdmin setting the attributes etc for the fields but I cannot make sense of the following columns

    Collation:- Auto set on latin1_swedish_ci

    Attributes:- only has 4 items in drop down menu
    On update current_Timestamp

    Null:- Not Null

    Can I assume that if the user doesnt need to fill that field in I would select Null otherwise Not Null?

    I am asking these questions due to the fact that I am getting errors when I try to select what I would assume are correct

    Grateful for your help

  • GooRoo

    There is a spelling mistake in your comment. please correct it (the mistake occurs in the third line change potatoe to potato)

  • kesavan

    kesavan#2, honestly, something is wrong with you. Why are you so anal that somebody posted a typo they found? (Which is by the way, still here after almost three years).

  • Jamie

    Kesavan, at least if you’re going to comment on other people’s spelling, you shouldn’t be so hypocritical and actually use correct grammar and punctuation. You’ll notice that your sentence does not being with a capital letter. Until you are perfect, don’t expect everyone else to be.

  • Guest

    I created a website. And now I want to Add Login/Register system with admin features to my website. I used this http://www.evolt.org/node/60384. I did what they told. It needs Mysql and Php. I’m using mysql-essential-5.1.47-win32. and phpMyAdmin-3.3.3-all-languages. Now how can i add any files to my mysql database? How to create a database?

    In that website they told to create some files with .sql and .php I created and now how can i use them?

    Plz contact me darknight2199@gmail.com

  • http://www.none.com Guest

    The home page is http://www.phpmyadmin.net/home_page/index.php

  • http://www.juasun.net SELEMAN

    I need more tutorials from u so that I would be the best in Database designing

  • michael belkom

    pls help me on how to great database its realy give stress because im getting error all the way.



  • dasd

    how to edit

  • Join for Access to Our Exclusive Web Tools
  • Sidebar Top
  • Sidebar Middle
  • Sign Up For The Free Newsletter
  • Sidebar Bottom