1. 程式人生 > 資料庫 >MySql常用查詢命令操作大全

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>