Translate with Google Translate

10.01.2011

mysql cheat sheet

-- File:MySqlCheatSheet.sql v.1.1.0 docs at the end 
 
/* [mysql dir] */
/bin/mysql -h hostname -u root -p 
 
mysql -u userName -p  -D DbName -B -e "select * from users;"   > /home/yogeorgi/tmp/list.csv ;
mysql -u userName -p  -D information_schema -B -e "select columns from columns;"   > /home/yogeorgi/tmp/list.csv ;
 
-- Batch mode (feeding in a script): 
mysql -u user -p < batch_file
/* (Use -t for nice table layout and -vvv for command echoing.) */
-- Alternatively: 
source batch_file;
 
 
-- List all databases on the mysql server. 
show databases;
 
/* Switch to a database. */
use [db name];
 
-- get all the tables in the currently selected database 
show tables;
 
-- get the table's fields format 
describe [TableName];
 
-- to remove a db
drop database [database name];
 
-- to drop a table 
drop table [TableName];
 
/* Show all data in a table. */
SELECT * FROM [TableName];
 
/* Returns the columns and column information pertaining to the designated table.  */
show columns from [TableName];
 
/* Show certain selected rows with the value "whatever". */
SELECT * FROM [TableName] WHERE [field name] = "whatever";
 
/* Show all records containing the name "Bob" AND the phone number '3444444'.  */
SELECT * FROM [TableName] WHERE name = "Bob" AND phone_number = '3444444';
 
/* Show all records not containing the name "Bob" AND the phone number '3444444' order by the phone_number field.  */
SELECT * FROM [TableName] WHERE name != "Bob" AND phone_number = '3444444' order by phone_number;
 
/* Show all records starting with the letters 'bob' AND the phone number '3444444'.  */
SELECT * FROM [TableName] WHERE name like "Bob%" AND phone_number = '3444444';
 
-- Use a regular expression to find records. Use "REGEXP BINARY" to force case-sensitivity. 
-- This finds any record beginning with a. 
SELECT * FROM [TableName] WHERE rec RLIKE "^a$";
 
-- how-to show only unique records. 
SELECT DISTINCT [column name] FROM [TableName];
 
/* Show selected records sorted in an ascending (asc) or descending (desc).  */
SELECT [col1],[col2] FROM [TableName] ORDER BY [col2] DESC;
 
/* Return number of rows. */
SELECT COUNT(*) FROM [TableName];
 
/* Sum column. */
SELECT SUM(*) FROM [TableName];
 
/* 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;
 
/* Switch to the mysql db. Create a new user.  */
 
INSERT INTO [TableName] (Host,User,Password) VALUES('%','user',PASSWORD('password'));
 
-- Change a users password.(from unix shell). 
[mysql dir]/bin/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 "bob" to connect to the server from localhost using the password "passwd"  */
grant usage on *.* to bob@localhost identified by 'passwd';
 
/* Switch to mysql db.Give user privilages for a db. */
INSERT INTO [TableName] (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;
 
/* To update info already in a table. */
UPDATE [TableName] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where [field name] = 'user'; 
 
/* ADelete a row(s) from a table. */
DELETE from [TableName] where [field name] = 'whatever';
 
-- how-to Update database permissions/privilages. 
FLUSH PRIVILEGES;
 
-- how-to delete a column
alter table [TableName] drop column [column name]; 
 
-- how-to add a new column to table 
alter table [TableName] add column [new column name] varchar (20);
 
-- how-to change a column name in a table 
alter table [TableName] change [old column name] [new column name] varchar (50);
 
-- Make a unique column so you get no dupes.  
alter table [TableName] add unique ([column name]); 
 
-- Make a column bigger
alter table [TableName] modify [column name] VARCHAR(3);
 
-- Delete unique from table. 
alter table [TableName] drop index [colmn name]; 
 
--how-to load a CSV file into a table.
LOAD DATA INFILE '/tmp/filename.csv' replace INTO TABLE [TableName] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);
 
/* Dump all databases for backup. Backup file is sql commands to recreate all db's.  */
[mysql dir]/bin/mysqldump -u root -ppassword --opt >/tmp/alldatabases.sql
 
-- Dump one database for backup. 
[mysql dir]/bin/mysqldump -u username -ppassword --databases databasename >/tmp/databasename.sql 
 
-- Dump a table from a database
[mysql dir]/bin/mysqldump -c -u username -ppassword databasename tablename > /tmp/databasename.tablename.sql
 
-- Restore database (or database table) from backup. 
[mysql dir]/bin/mysql -u username -ppassword databasename < /tmp/databasename.sql 
 
/* Create Table Example 1. */
CREATE TABLE [TableName] (
  FirstName                 VARCHAR(20)
, MiddleName             VARCHAR(3)
, LastName                 VARCHAR(35)
, Suffix                     VARCHAR(3)
, OffficeId                     VARCHAR(10)
, UserId                     VARCHAR(15)
, UserName             VARCHAR(8)
, Email                     VARCHAR(35)
, Phone                     VARCHAR(25)
, Groups                     VARCHAR(15)
, DateStamp             DATE
, TimeStamp             time
, PgpEmail                 VARCHAR(255)
); 
 
-- Create Table Example 2. 
create table [TableName] (
   personid int(50) not null auto_increment primary key
 , firstname varchar(35)
 , middlename varchar(50)
 , lastnamevarchar(50) default 'bato'
);
 
 
-- Inserting one row at a time: 
INSERT INTO table_name VALUES ('MyName', 'MyOwner', '2002-08-31');
(Use NULL for NULL)
 
-- Retrieving information (general):
SELECT from_columns FROM table WHERE conditions;
 
-- All values:  
SELECT * FROM table;
 
-- Some values:  
SELECT * FROM table WHERE rec_name = "value";
 
-- Multiple critera: 
SELECT * FROM TABLE WHERE rec1 = "value1" AND rec2 = "value2";
 
-- Reloading a new data set into existing table:
SET AUTOCOMMIT=1; # used for quick recreation of table
 
DELETE FROM pet;
 
LOAD DATA LOCAL INFILE "infile.txt" INTO TABLE table;
 
-- Fixing all records with a certain value:
UPDATE table SET column_name = "new_value" WHERE record_name = "value";
 
-- Selecting specific columns:
SELECT column_name FROM table;
 
-- Retrieving unique output records:
SELECT DISTINCT column_name FROM table;
 
-- Sorting:
SELECT col1, col2 FROM table ORDER BY col2;
Backwards: SELECT col1, col2 FROM table ORDER BY col2 DESC;
 
--Date calculations:
SELECT CURRENT_DATE, (YEAR(CURRENT_DATE)-YEAR(date_col)) AS time_diff [FROM table];
MONTH(some_date) extracts the month value and DAYOFMONTH() extracts day.
 
-- Pattern Matching:
SELECT * FROM table WHERE rec LIKE "blah%";
(% is wildcard - arbitrary # of chars)
Find 5-char values: SELECT * FROM table WHERE rec like "_____";
(_ is any single character)
 
-- Extended Regular Expression Matching:
SELECT * FROM table WHERE rec RLIKE "^b$";
(. for char, [...] for char class, * for 0 or more instances
^ for beginning, {n} for repeat n times, and $ for end)
(RLIKE or REGEXP)
To force case-sensitivity, use "REGEXP BINARY"
 
 
-- Grouping with Counting:
SELECT owner, COUNT(*) FROM table GROUP BY owner;
(GROUP BY groups together all records for each 'owner')
 
-- Selecting from multiple tables:
SELECT pet.name, comment FROM pet, event WHERE pet.name = event.name;
(You can join a table to itself to compare by using 'AS')
 
-- Currently selected database:
SELECT DATABASE();
 
-- Maximum value:
SELECT MAX(col_name) AS label FROM table;
 
-- Auto-incrementing rows:
CREATE TABLE table (number INT NOT NULL AUTO_INCREMENT, name CHAR(10) NOT NULL);
INSERT INTO tabe (name) VALUES ("tom"),("dick"),("harry");
 
-- Adding a column to an already-created table:
ALTER TABLE tbl ADD COLUMN [column_create syntax] AFTER col_name;
 
-- Removing a column:
ALTER TABLE tbl DROP COLUMN col;
(Full ALTER TABLE syntax available at mysql.com.)
 
-- Create a database on the sql server. */
create database [databasename];
 
-- Backing up a database with mysqldump:
# mysqldump --opt -u username -p database > database_backup.sql
(Use 'mysqldump --opt --all-databases > all_backup.sql' to backup everything.)
 
-- how-to export to csv the db's metadata 
use information_schema ; 
 
SELECT     TABLE_CATALOG  , TABLE_SCHEMA  , TABLE_NAME  , COLUMN_NAME  , ORDINAL_POSITION  , COLUMN_DEFAULT  , IS_NULLABLE  , DATA_TYPE  , CHARACTER_MAXIMUM_LENGTH  , CHARACTER_OCTET_LENGTH  , NUMERIC_PRECISION  , NUMERIC_SCALE  , CHARACTER_SET_NAME  , COLLATION_NAME  , COLUMN_TYPE  , COLUMN_KEY  , EXTRA  , PRIVILEGES  , COLUMN_COMMENT
INTO OUTFILE '/var/lib/mysql/information_schema.csv'
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY ' ' 
LINES TERMINATED BY '\n' 
from COLUMNS; 
 
 
-- Purpose: 
-- This is a list of handy MySQL commands that I use time and time again. 
-- At the bottom are statements, clauses, and functions you can use in 
-- To login (from unix shell) use -h only if needed. 
-- Shamelessly stolen from Internet and forgot to mention the sources ... 
 
-- VersionHistory
-- 1.1.0 --- ysg --- docs, formatting 
-- 1.0.0 --- ysg --- Hard copy paste from Internet ... 

0 comments:

Post a Comment

- the first minus - Comments have to be moderated because of the spammers
- the second minus - I am very lazy at moderating comments ... hardly find time ...
- the third minus - Short links are no good for security ...
- The REAL PLUS : Any critic and positive feedback is better than none, so your comments will be published sooner or later !!!!

Blog Archive

My Blog List

Labels

perl (23) how-to (16) sql server 2008 (12) cmd windows batch (10) mssql (10) sql server 2005 (8) textpad (8) windows (8) Cheat Sheet (7) Unix (7) code generation (7) meta data mssql (7) metadata (7) excel (5) linux (5) tsql (5) utilities (5) energy (4) future (4) programs (4) settings (4) поуки (4) принципи (4) Focus Fusion (3) Solaris (3) cmd (3) cool programs (3) cygwin (3) economy (3) freeware (3) fusion (3) html (3) morphus (3) mssql 2005 (3) nuclear (3) parse (3) perl modules (3) script (3) shortcuts (3) sofware development (3) table (3) .Net (2) C# (2) China (2) Solaris Unix (2) ascii (2) cas (2) cheatsheet (2) columns (2) duplicates (2) example (2) file (2) free programs (2) generic (2) google code (2) logging (2) mssql 2008 (2) mysql (2) next big future (2) nsis (2) prediction (2) release management (2) security (2) sftp (2) sql (2) sqlserver 2005 (2) sqlserver 2008 (2) ssh (2) template (2) tools (2) vba (2) youtube videos (2) BSD license (1) Bulgaria (1) Dallas (1) Database role (1) Dense plasma focus (1) Deployment (1) ERP (1) ExcelToHtml (1) GDP (1) GUI (1) Google (1) GoogleCL (1) Hosting (1) IT general (1) IZarc (1) Java Web Start (1) Khan Academy (1) ListBox (1) MIT HYDROGEN VIRUS (1) OO (1) PowerShell (1) Run-time (1) SIWA (1) Services (1) Stacks (1) SubSonic (1) TED (1) abstractions (1) apache (1) apache 2.2 (1) application life cycle (1) architecture (1) archive (1) arguments (1) avatar (1) awk (1) backup (1) bash (1) bin (1) biofuels (1) biology (1) books (1) browser (1) bubblesort (1) byte (1) cas_sql_dev (1) chennai (1) class (1) claut (1) code generation sqlserver (1) command (1) command line (1) conf (1) configuration (1) console (1) conversion (1) copy-paste (1) csv (1) ctags (1) current local time (1) data (1) debt (1) diagram (1) digital (1) documentation (1) dos (1) dubai (1) e-cars (1) electric cars (1) electricity (1) errors (1) exponents (1) export (1) extract (1) fast export (1) fexp (1) findtag (1) firewall (1) for loop (1) functions (1) fusion research (1) german (1) helsinki (1) history (1) hop or flop (1) ideas (1) java (1) ksh (1) level (1) london (1) me (1) metacolumn (1) metadata functions (1) metaphonre (1) method (1) model (1) movie (1) n900 (1) nano (1) netezza (1) non-password (1) nord pol (1) one-to-many (1) open source (1) openrowset (1) outlook (1) parser (1) password (1) permissions (1) php (1) platform (1) ppm (1) predictions (1) prices (1) principles (1) project (1) prompt (1) proxy account (1) public private key (1) publish (1) publishing (1) putty (1) qt (1) read file (1) registry (1) relationship (1) rm (1) scp (1) sed (1) sh (1) silicon (1) sofware (1) sort (1) sql script (1) sql_dev (1) sqlcmd (1) sqlite (1) sqlite3 (1) src (1) sshd (1) stored procedure (1) stupidity (1) svn (1) sysinternals (1) tar (1) temp table (1) templates (1) teradata (1) terminal (1) test (1) theory (1) thorium (1) time (1) tip (1) tool (1) user (1) utils (1) vb (1) warsaw (1) wikipedia (1) windows programs (1) windows reinstall (1) wisdoms (1) worth-reading (1) xp_cmdshell (1) youtube (1)

Video Bar

Loading...

Search This Blog

Loading...