MySql常用查詢命令操作大全
MYSQL常用查命令:
mysql> select version(); 檢視MySQL的版本號 mysql> select current_date(); 檢視MySQL的當前日期 mysql> select version(),current_date(); 同時檢視MySQL的版本號和當前日期 mysql> show databases; 顯示當前存在的資料庫 mysql> USE mysql 選擇使用資料庫(USE和QUIT命令不需要分號結束) Database changed mysql> select database(); 顯示當前選擇的資料庫 mysql> show tables; 顯示當前資料庫中存在的表 mysql> select * from db; 顯示錶(db)的內容 mysql> describe mytable; 顯示錶的結構
或show columns from 表名;
mysql> select -> user() -> \c mysql>
練習如下操作:
mysql> select -> USER() ->,-> now() ->; mysql> Select (20+5)*4; mysql> Select (20+5)*4,sin(pi()/3); mysql> Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名為Result)
檢視MySQL當前使用者佔用的連線數
命令: show processlist;
如果是root帳號,你能看到所有使用者的當前連線。如果是其它普通帳號,只能看到自己佔用的連線。
show processlist;只列出前100條,如果想全列出請使用show full processlist;
mysql> show processlist;
一。資料庫:
mysql> CREATE DATABASE abccs; 建立一個數據庫 mysql> USE abccs 選擇使用資料庫 mysql> drop database 資料庫名; 刪除資料庫
二。表:
1。建立一個表mytable:
mysql> CREATE TABLE mytable -> ( -> name VARCHAR(20),-> sex CHAR(1),-> birth DATE,-> birthaddr VARCHAR(20) -> );
建立一個員工生日表,表的內容包含員工姓名、性別、出生日期、出生城市。
由於name、birthadd的列值是變化的,因此選擇VARCHAR,其長度不一定是20。
可以選擇從1到255的任何長度,如果以後需要改變它的字長,可以使用ALTER TABLE語句。
性別只需一個字元就可以表示:"m"或"f",因此選用CHAR(1);
birth列則使用DATE資料型別。
2。查詢剛新增的記錄:
mysql> select * from mytable;
Empty set (0.00 sec) 這說明剛才建立的表還沒有記錄。
3。新增新記錄:
mysql> insert into mytable -> values ->( ->'abccs',->'f',->'1977-07-07',->'china' ->);
4。用文字方式將資料裝入一個數據庫表:
一條一條地新增新記錄,實在太麻煩。
建立一個文字檔案“mysql.txt”,按表結構排好每行每條記錄,用定位符(tab)把值分開。
abccs f 1977-07-07 china mary f 1978-12-12 usa tom m 1970-09-02 usa
使用此命令將文字檔案“mytable.txt”裝載到表中:
mysql> Load data local infile "mytable.txt" into table mytable;
資料傳入命令load data local infile
"檔名" into table
表名;
注意:你最好將檔案複製到mysql/bin目錄下,並且要先用use命令選表所在的庫。
5。更新記錄:
mysql> update mytable set birth = "1973-09-02" where name = "tom";
6。刪除記錄:
mysql> delete from mytable where id=10; //刪除掉所有id=10的記錄; mysql> delete from mytable where id=10 limit 1; //限制刪除掉1條id=10的記錄; mysql> delete from mytable //刪除一個表的全部記錄; mysql> DELETE FROM t1 WHERE C>10; mysql> drop table tablename1,tablename2,…; //刪除整一個表或多個表,小心使用。
7。重命名錶:
mysql> alter table t1 rename t2;
8。修改mysql的表結構:
檢視mysql的表結構:
mysql> describe mytable; 或用show columns from 表名;
修改欄位屬性
mysql> alter table tablename modify id int(10) unsigned auto_increment primary key not null
修改預設值
mysql> alter table tablename alter id default 0
給欄位增加primary key
mysql> alter table tablename add primary key(id);
刪除primary key
alter table tablename drop primary key; drop primary key on tablename;
修改table表資料引擎
mysql> alter table tableName ENGINE = MyISAM (InnoDB);
增加一新欄位名:
mysql> alter table mytable add column single char(1); mysql> ALTER TABLE table ADD field INT(11) UNSIGNED NOT NULL
刪除欄位
mysql> alter table t2 drop column c;
附:
為了改變列a,從INTEGER改為TINYINT NOT NULL(名字一樣),
並且改變列b,從CHAR(10)改為CHAR(20),同時重新命名它,從b改為c:
ALTER TABLE t2 MODIFY a TINYINT NOT NULL,CHANGE b c CHAR(20);
增加一個新TIMESTAMP列,名為d:
ALTER TABLE t2 ADD d TIMESTAMP;
在列d上增加一個索引,並且使列a為主鍵:
ALTER TABLE t2 ADD INDEX (d),ADD PRIMARY KEY (a);
增加一個新的AUTO_INCREMENT整數列,命名為c:
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
注意,我們索引了c,因為AUTO_INCREMENT柱必須被索引,
並且另外我們宣告c為NOT NULL,因為索引了的列不能是NULL。
使用name列的頭10個字元建立一個索引:
CREATE INDEX part_of_name ON customer (name(10));
三。資料的備份與恢復:
匯出和匯入資料:(命令在DOS的mysql/bin目錄下執行)
匯出表
mysqldump --opt school > school.sql
註釋:將資料庫school中的表全部備份到school.sql檔案,school.sql是一個文字檔案,
檔名任取,開啟看看你會有新發現。
mysqldump --opt school teacher student > school.teacher.student.sql
註釋:將資料庫school中的teacher表和student表備份到school.teacher.student.sql檔案,school.teacher.student.sql是一個文字檔案,檔名任取,開啟看看你會有新發現。
匯入表
mysql mysql>create database school; mysql>use school; mysql>source school.sql;
(或將school.sql換為school.teacher.sql / school.teacher.student.sql)
匯出資料庫
mysqldump --databases db1 db2 > db1.db2.sql
註釋:將資料庫dbl和db2備份到db1.db2.sql檔案,db1.db2.sql是一個文字檔案,檔名
任取,開啟看看你會有新發現。
(舉個例子:
mysqldump -h host -u user -p pass --databases dbname > file.dump
就是把host上的以名字user,口令pass的資料庫dbname匯入到檔案file.dump中。)
匯入資料庫
mysql < db1.db2.sql
複製資料庫mysqldump --all-databases > all-databases.sql
註釋:將所有資料庫備份到all-databases.sql檔案,all-databases.sql是一個文字檔案,檔名任取。
匯入資料庫
mysql mysql>drop database a; mysql>