Basic MySQL Commands

Post Reply
Tony
Lieutenant
Lieutenant
Posts: 86
Joined: Tue Jul 21, 2009 4:11 pm

Basic MySQL Commands

Post by Tony » Thu Oct 01, 2009 1:16 am

MySQL is one of the best and globally used database. It will be good to learn the basic commands in Mysql to work interactively with the website and database servers.

To login from unix shell.
[mysql dir]/bin/mysql -h hostname -u root -p

*Note: use -h only if needed.

Create, List, Use and Delete Databases Commands

create database
This command is used to create a Database on the sql server..
Syntax: create [db name];

Eg:
create employees;

show databases
This command id used to list all databases on the sql server.
Syntax: show databases;

use database
This command is used to switch to a database.
Syntax: use [db name];

drop database
This command is used to delete a database.
Syntax: drop [db name];


Creating tables and working with it

create table
This command is used to create tables in a database.

Eg:
CREATE TABLE (firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255)); [b] show tables[/b] This command is see all the tables in the database. [b]describe table[/b] To see database's field formats. describe [table name]; [b]drop table[/b] To delete a table. drop table [table name]; Show all data in a table. SELECT * FROM [table name]; Returns the columns and column information pertaining to the designated table. show columns from [table name]; Show certain selected rows with the value "something". SELECT * FROM [table name] WHERE [field name] = "something"; Show all records containing the name "Telson" AND the phone number '2255'. SELECT * FROM [table name] WHERE name = "Telson" AND phone_number = '2255'; Show all records not containing the name "Telson" AND the phone number '2255' order by the phone_number field. SELECT * FROM [table name] WHERE name != "Telson" AND phone_number = '2255' order by phone_number; Show all records starting with the letters 'Tel' AND the phone number '2255'. SELECT * FROM [table name] WHERE name like "Tel%" AND phone_number = '2255'; Use a regular expression to find records. Use "REGEXP BINARY" to force case-sensitivity. This finds any record beginning with a. SELECT * FROM [table name] WHERE rec RLIKE "^a$"; Show unique records. SELECT DISTINCT [column name] FROM [table name]; Show selected records sorted in an ascending (asc) or descending (desc). SELECT [column1],[column2] FROM [table name] ORDER BY [column2] DESC; Return number of rows. SELECT COUNT(*) FROM [table name]; Sum column. SELECT SUM(*) FROM [table name]; Join tables on common columns. select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id; [size=150][b]Creating Mysql databse Users and changing Password[/b][/size] Switch to the mysql db. Create a new user. INSERT INTO [table name] (Host,User,Password) VALUES('%','user',PASSWORD('password')); Change a users password.(from unix shell). [mysql dir] mysqladmin -u root -h hostname.blah.org -p password 'new-password' Change a users password.(from MySQL prompt). SET PASSWORD FOR 'user'@'hostname' = PASSWORD('passwordhere'); Allow the user "telson" to connect to the server from localhost using the password "passwd" grant usage on *.* to telson@localhost identified by 'passwd'; Switch to mysql db.Give user privilages for a db. INSERT INTO [table name] (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N'); or grant all privileges on databasename.* to username@localhost; [size=150][b]Modifying and Updating tables in MySQL[/b][/size] To update info already in a table. UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = 'user'; Delete a row(s) from a table. DELETE from [table name] where [field name] = 'something'; Update database permissions/privileges. FLUSH PRIVILEGES; Delete a column. alter table [table name] drop column [column name]; Add a new column to db. alter table [table name] add column [new column name] varchar (20); Change column name. alter table [table name] change [old column name] [new column name] varchar (50); Make a unique column so you get no dupes. alter table [table name] add unique ([column name]); Make a column bigger. alter table [table name] modify [column name] VARCHAR(4); Delete unique from table. alter table [table name] drop index [colmn name]; Load a CSV file into a table. LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [table name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3); [size=150][b]Creating MySQL Database backup’s and Restoring Databases[/b][/size] Dump all databases for backup. Backup file is sql commands to recreate all db's. [mysql dir] mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql Dump one database for backup. [mysql dir] mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql Dump a table from a database. [mysql dir] mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql Restore database (or database table) from backup. [mysql dir] mysql -u username -ppassword databasename < /tmp/databasename.sql
Post Reply

Return to “PHP & MySQL”