MYSQL常用查命令:
mysql> select version(); 查看MySQL的版本號(hào)
mysql> select current_date(); 查看MySQL的當(dāng)前日期
mysql> select version(),current_date(); 同時(shí)查看MySQL的版本號(hào)和當(dāng)前日期
mysql> show databases; 顯示當(dāng)前存在的數(shù)據(jù)庫(kù)
mysql> USE mysql 選擇使用數(shù)據(jù)庫(kù)(USE和QUIT命令不需要分號(hào)結(jié)束)
Database changed
mysql> select database(); 顯示當(dāng)前選擇的數(shù)據(jù)庫(kù)
mysql> show tables; 顯示當(dāng)前數(shù)據(jù)庫(kù)中存在的表
mysql> select * from db; 顯示表(db)的內(nèi)容
mysql> describe mytable; 顯示表的結(jié)構(gòu)
或show columns from 表名;
mysql> select
-> user()
-> \c
mysql>
練習(xí)如下操作:
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當(dāng)前用戶(hù)占用的連接數(shù)
命令: show processlist;
如果是root帳號(hào),你能看到所有用戶(hù)的當(dāng)前連接。如果是其它普通帳號(hào),只能看到自己占用的連接。
show processlist;只列出前100條,如果想全列出請(qǐng)使用show full processlist;
一。數(shù)據(jù)庫(kù):
mysql> CREATE DATABASE abccs; 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)
mysql> USE abccs 選擇使用數(shù)據(jù)庫(kù)
mysql> drop database 數(shù)據(jù)庫(kù)名; 刪除數(shù)據(jù)庫(kù)
二。表:
1。創(chuàng)建一個(gè)表mytable:
mysql> CREATE TABLE mytable
-> (
-> name VARCHAR(20),
-> sex CHAR(1),
-> birth DATE,
-> birthaddr VARCHAR(20)
-> );
建立一個(gè)員工生日表,表的內(nèi)容包含員工姓名、性別、出生日期、出生城市。
由于name、birthadd的列值是變化的,因此選擇VARCHAR,其長(zhǎng)度不一定是20。
可以選擇從1到255的任何長(zhǎng)度,如果以后需要改變它的字長(zhǎng),可以使用ALTER TABLE語(yǔ)句。
性別只需一個(gè)字符就可以表示:"m"或"f",因此選用CHAR(1);
birth列則使用DATE數(shù)據(jù)類(lèi)型。
2。查詢(xún)剛添加的記錄:
mysql> select * from mytable;
Empty set (0.00 sec) 這說(shuō)明剛才創(chuàng)建的表還沒(méi)有記錄。
3。添加新記錄:
mysql> insert into mytable
-> values
->(
->'abccs',
->'f',
->'1977-07-07',
->'china'
->);
4。用文本方式將數(shù)據(jù)裝入一個(gè)數(shù)據(jù)庫(kù)表:
一條一條地添加新記錄,實(shí)在太麻煩。
創(chuàng)建一個(gè)文本文件“mysql.txt”,按表結(jié)構(gòu)排好每行每條記錄,用定位符(tab)把值分開(kāi)。
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;
數(shù)據(jù)傳入命令load data local infile
"文件名" into table
表名;
注意:你最好將文件復(fù)制到mysql/bin目錄下,并且要先用use命令選表所在的庫(kù)。
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 //刪除一個(gè)表的全部記錄;
mysql> DELETE FROM t1 WHERE C>10;
mysql> drop table tablename1,tablename2,…; //刪除整一個(gè)表或多個(gè)表,小心使用。
7。重命名表:
mysql> alter table t1 rename t2;
8。修改mysql的表結(jié)構(gòu):
查看mysql的表結(jié)構(gòu):
mysql> describe mytable; 或用show columns from 表名;
修改字段屬性
mysql> alter table tablename modify id int(10) unsigned auto_increment primary key not null
修改默認(rèn)值
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表數(shù)據(jù)引擎
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改為T(mén)INYINT NOT NULL(名字一樣),
并且改變列b,從CHAR(10)改為CHAR(20),同時(shí)重命名它,從b改為c:
ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);
增加一個(gè)新TIMESTAMP列,名為d:
ALTER TABLE t2 ADD d TIMESTAMP;
在列d上增加一個(gè)索引,并且使列a為主鍵:
ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);
增加一個(gè)新的AUTO_INCREMENT整數(shù)列,命名為c:
ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c);
注意,我們索引了c,因?yàn)锳UTO_INCREMENT柱必須被索引,
并且另外我們聲明c為NOT NULL,因?yàn)樗饕说牧胁荒苁荖ULL。
使用name列的頭10個(gè)字符創(chuàng)建一個(gè)索引:
CREATE INDEX part_of_name ON customer (name(10));
三。數(shù)據(jù)的備份與恢復(fù):
導(dǎo)出和導(dǎo)入數(shù)據(jù):(命令在DOS的mysql/bin目錄下執(zhí)行)
導(dǎo)出表
mysqldump --opt school > school.sql
注釋?zhuān)簩?shù)據(jù)庫(kù)school中的表全部備份到school.sql文件,school.sql是一個(gè)文本文件,
文件名任取,打開(kāi)看看你會(huì)有新發(fā)現(xiàn)。
mysqldump --opt school teacher student > school.teacher.student.sql
注釋?zhuān)簩?shù)據(jù)庫(kù)school中的teacher表和student表備份到school.teacher.student.sql文件,school.teacher.student.sql是一個(gè)文本文件,文件名任取,打開(kāi)看看你會(huì)有新發(fā)現(xiàn)。
導(dǎo)入表
mysql
mysql>create database school;
mysql>use school;
mysql>source school.sql;
(或?qū)chool.sql換為school.teacher.sql / school.teacher.student.sql)
導(dǎo)出數(shù)據(jù)庫(kù)
mysqldump --databases db1 db2 > db1.db2.sql
注釋?zhuān)簩?shù)據(jù)庫(kù)dbl和db2備份到db1.db2.sql文件,db1.db2.sql是一個(gè)文本文件,文件名
任取,打開(kāi)看看你會(huì)有新發(fā)現(xiàn)。
(舉個(gè)例子:
mysqldump -h host -u user -p pass --databases dbname > file.dump
就是把host上的以名字user,口令pass的數(shù)據(jù)庫(kù)dbname導(dǎo)入到文件file.dump中。)
導(dǎo)入數(shù)據(jù)庫(kù)
復(fù)制數(shù)據(jù)庫(kù)mysqldump --all-databases > all-databases.sql
注釋?zhuān)簩⑺袛?shù)據(jù)庫(kù)備份到all-databases.sql文件,all-databases.sql是一個(gè)文本文件,文件名任取。
導(dǎo)入數(shù)據(jù)庫(kù)
mysql
mysql>drop database a;
mysql>
您可能感興趣的文章:- 淺談MySQL中優(yōu)化sql語(yǔ)句查詢(xún)常用的30種方法
- mysql 常用命令集錦[絕對(duì)精華]
- mysql常用函數(shù)匯總(分享)
- MYSQL 優(yōu)化常用方法
- 5個(gè)常用的MySQL數(shù)據(jù)庫(kù)管理工具詳細(xì)介紹
- 整理MySql常用查詢(xún)語(yǔ)句(23種)
- mysql常用命令行操作語(yǔ)句
- MySQL數(shù)據(jù)庫(kù)備份和還原的常用命令小結(jié)
- MySQL 常用命令
- mysql中操作表常用的sql總結(jié)