With all the neat tools like PHPmyAdmin out there few bother to learn the command line any more. I decided I wanted to learn and decided to share some with you. In this lesson "$" will represent the command prompt. I put this in the Unix section because Mysql is widely used in web design, but it's uses reach far beyond that.. All info came from
http://www.mysql.com which I found a bit cryptic in some sections.
Now first thing you have to do is connect to the data base. This is done like so.
http://www.mysql.com/documentation/mysql/bychapter/manual_Tutorial.html#Connecting-disconnecting $ mysql -u User_name_here -p *nothing after the p you will be prompted*
Enter passward
Password_here
It will look like so on your screen
$ mysql -u User_name_here -p
Enter passward *******
Login sucessful...
mysql>
Now you are ready to start queries and storing data. Lets look at how this works shall we? You will notice your prompt now is "mysql>" This lets you know you are in. By the way type "exit" or "Quit" or "Ctrl_D" maybey "Ctrl_z" should put you back at a regular command prompt.
Now the first thing you will need is of course a database. To see all data bases do a "Show Databases"
mysql> SHOW DATABASES;
Notice the ";" This is needed to end the command if you do not type in ";" you might get something like this
mysql> SHOW DATABASES
->
If you so simpley type in the ";".
mysql> SHOW DATABASES
->;
You will get some out put that looks something like this.
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
| tmp |
+----------+
If you do not have a data base that you have created you will need to do so. Here is how you create a database.
mysql> CREATE DATABASE Database1;
Pretty easy right? You will also need to create a table in your database. For this I will give you a simple table but you will have to read up on different types of fields and table structure. I could write a book on this alone. See the following links
http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#CREATE_TABLE http://www.mysql.com/documentation/mysql/bychapter/manual_Table_types.html#ISAM http://www.mysql.com/documentation/mysql/bychapter/manual_Table_types.html#HEAP http://www.mysql.com/documentation/mysql/bychapter/manual_Table_types.html#InnoDB http://www.mysql.com/documentation/mysql/bychapter/manual_Tutorial.html#Creating_tables http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Optimisation.html#Table_cache http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Legal_names http://www.mysql.com/documentation/...atabase_Administration.html#BACKUP_TABLE There are so many other links I could list but these should lead you where you need to look. Now for a basic table. Lets say we want to create an email address book. We need the
First name
Last name
Date data was inserted (so we know if it could be outdated)
email address
A point of refference as to call the data up with.
mysql> CREATE TABLE Email_table (Fname VARCHAR(25), Lname VARCHAR(25), Date VARCHAR(10), email VARCHAR(255), id int(4) NOT NULL auto_increment) PRIMARY KEY (id);
Look kind of complicated? It realy isn't. You see the VARCHAR(25) in there? VARCHAR is just what type of field this will be. In this case this field will hold text. The (25) part is just how many charaters will be allowed to be stored in this field. So "Fname" will be a field in the table that will store the First name. Not too many people have names with more than 25 charaters so we seet 25 as the limit. The other type of field you see is "int". Or integer. This is a numeric field.
id is a numeric field that will auto increment. This means only number will go in here. You do not ever have to put anything in this field it will automaticaly cout each time a new row is added. That is, the first time you insert any data id field will be set to one. The next time or row it will be set to 2. This is a constant that you can use in scripts to grab and manipulate data.
If you do a "DESCRIBE" command you can see the basic structure of your data.
mysql> DESCRIBE Email_table;
*rember the ";"
This will give you something like
mysql> DESCRIBE Email_table;
+---------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| Fname | varchar(25) | | | NULL | |
| Lname | varchar(25) | | | NULL | |
| Date | varchar(10) | | | NULL | |
| Email | varchar(255)| | | NULL | |
| id | int(11) | | Pri | NULL | |
+---------+-------------+------+-----+---------+-------+
Next we want to insert some data right. To do this we will use the insert command.
http://www.mysql.com/documentation/mysql/bychapter/manual_Tutorial.html#Loading_tables mysql> INSERT INTO Email_table Values 'admin', 'Gizmo', '01/13/2003', 'admin@
UnderGroundNews.com');
or
mysql> INSERT INTO Email_table
-> Values ('admin', 'Gizmo', '01/13/2003', 'admin@
UnderGroundNews.com');
Hit enter and watch the data go. Well not realy, but it is in there now. Want to see?
mysql> Select * FROM Email_table;
YOu should see all the data nicely grided out for you. Well there are the basics of Mysql from the command line.