1.進入數據庫:
mysql -u root -p
mysql -h localhost -u root -p database_name
2.列出數據庫
show databases;
3.選擇數據庫:
use databases_name;
4.列出數據表:
show tables;
5.顯示表格列的屬性
show columns from table_name;
describe table_name;
6.導出整個數據庫:
mysqldump -u user_name -p database_name > /tmp/file_name
例如:mysqldump -u root -p test_db > d:/test_db.sql
7.導出一個表:
mysqldump -u user_name -p database_name table_name > /tmp/file_name
例如:mysqldump -u root -p test_db table1 > d:/table1.sql
8.導出一個數據庫結構:
mysqldump -u user_name -p -d --add-drop-table database_name > file_name
例如:mysqldump -u root -p -d --add-drop-table test_db > test_db.sql
9.導入數據庫:
source file_name;
或 mysql -u user_name -p database_name < file_name
例如:
source /tmp/bbs.sql;
source d:/bbs.sql;
mysql -u root -p bbs < "d:/bbs.sql"
mysql -u root -p bbs < "/tmp/bbs.sql"
10.將文本文件導入數據表中(excel與之相同)load data infile "tables.txt" into table table_name;
例如:
load data infile "/tmp/bbs.txt" into table bbs;
load data infile "/tmp/bbs.xls" into table bbs;
load data infile "d:/bbs.txt" into table bbs;
load data infile "d:/bbs.xls" into table bbs;
11.將數據表導出為文本文件(excel與之相同)
select * into outfile "path_file_name" from table_name;
例如:
select * into outfile "/tmp/bbs.txt" from bbs;
select * into outfile "/tmp/bbs.xls" from bbs where id=1;
select * into outfile "d:/bbs.txt" from bbs;
select * into outfile "d:/bbs.xls" from bbs where id=1;
12.創建數據庫時先判斷數據庫是否存在:
create database if not exists database_name;
例如:create database if not exists bbs
13.創建數據庫:
create database database_name;
例如:create database bbs;
14.刪除數據庫:
drop database database_name;
例如:drop database bbs;
15.創建數據表:
mysql> create table <table_name> ( <column 1 name> <col. 1 type> <col. 1 details>,<column 2 name> <col. 2 type> <col. 2 details>, ...);
例如:create table (id int not null auto_increment primary key,name char(16) not null default "jack",date_year date not null);
16.刪除數據表中數據:
delete from table_name;
例如:
delete from bbs;
delete from bbs where id=2;
17.刪除數據庫中的數據表:
drop table table_name;
例如:
drop table test_db;
rm -f database_name/table_name.* (linux下)
例如:
rm -rf bbs/accp.*
18.向數據庫中添加數據:
insert into table_name set column_name1=value1,column_name2=value2;
例如:insert into bbs set name="jack",date_year="1993-10-01";
insert into table_name values (column1,column2,...);
例如:insert into bbs ("2","jack","1993-10-02")
insert into table_name (column_name1,column_name2,...) values (value1,value2);
例如:insert into bbs (name,data_year) values ("jack","1993-10-01");
19.查詢數據表中的數據:
select * from table_name;
例如:select * from bbs where id=1;
20.修改數據表中的數據:update table_name set col_name=new_value where id=1;
例如:update bbs set name="tom" where name="jack";
21.增加一個字段:alter table table_name add column field_name datatype not null default "1";
例如:alter table bbs add column tel char(16) not null;
22.增加多個字段:(column可省略不寫)
alter table table_name add column filed_name1 datatype,add column filed_name2 datatype;
例如:alter table bbs add column tel char(16) not null,add column address text;
23.刪除一個字段:alter table table_name drop field_name;
例如:alter table bbs drop tel;
24.修改字段的數據類型:
alter table table_name modify id int unsigned;//修改列id的類型為int unsigned alter table table_name change id sid int unsigned;//修改列id的名字為sid,而且把屬性修改為int unsigned
25.修改一個字段的默認值:
alter table table_name modify column_name datatype not null default "";
例如:alter table test_db modify name char(16) default not null "yourname";
26.對表重新命名:
alter table table_name rename as new_table_name;
例如:alter table bbs rename as bbs_table;
rename table old_table_name to new_table_name;
例如:rename table test_db to accp;
27.從已經有的表中復制表的結構:
create table table2 select * from table1 where 1<>1;
例如:create table test_db select * from accp where 1<>1;
28.查詢時間:
select now();
29.查詢當前用戶:
select user();
30.查詢數據庫版本:
select version();
31.創建索引:
alter table table1 add index ind_id(id);
create index ind_id on table1(id);
create unique index ind_id on table1(id);//建立唯一性索引
32.刪除索引:
drop index idx_id on table1;
alter table table1 drop index ind_id;
33.聯合字符或者多個列(將id與":"和列name和"="連接)
select concat(id,':',name,'=') from table;
34.limit(選出10到20條)
select * from bbs order by id limit 9,10;
(從查詢結果中列出第幾到幾條的記錄)
35.增加一個管理員賬號:
grant all on *.* to user@localhost identified by "password";
36.創建表是先判斷表是否存在
create table if not exists students(……);
37.復制表:
create table table2 select * from table1;
例如:create table test_db select * from accp;
38.授於用戶遠程訪問mysql的權限
grant all privileges on *.* to "root"@"%" identified by "password" with grant option;
或者是修改mysql數據庫中的user表中的host字段
use mysql;
select user,host from user;
update user set host="%" where user="user_name";
39.查看當前狀態
show status;
40.查看當前連接的用戶
show processlist;