一、常用命令
列出資料庫:show databases;
選擇資料庫:use databaseName;
列出表格:show tables;
建庫create database 庫名;
建表create table 表名;
顯示資料表的結構:desc 表名;
刪庫 drop database 庫名;
刪表 drop table 表名;
將表中記錄清空:delete from 表名;
顯示表中的記錄:select * from 表名;
二、串連MYSQL。
格式: mysql -h主機地址 -u使用者名稱 -p使用者密碼
1、例1:串連到本機上的MYSQL。
首先在開啟DOS視窗,鍵入命令mysql -uroot -p,斷行符號後提示你輸密碼。
2、例2:串連到遠程主機上的MYSQL。假設遠程主機的IP為:192.168.1.5,使用者名稱為root,密碼為root。則鍵入以下命令: mysql -h192.168.1.5 -uroot -proot
3、退出MYSQL命令: exit (斷行符號)
三、其它命令:
查詢時間:select now();
查詢資料庫版本:select version();
查詢目前使用者:select user();
查詢當前使用的資料庫:select database();
匹配字元:可以用萬用字元_代表任何一個字元,%代表任何字串;
增加一個欄位:alter table tabelName add column fieldName dateType;
增加多個欄位:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType;
修改密碼:mysqladmin -u使用者名稱 -p舊密碼 password新密碼
以下轉載:
增加新使用者:
格式:grant select on 資料庫.* to 使用者名稱@登入主機 identified by "密碼"
例1、增加一個使用者test1密碼為abc,讓他可以在任何主機上登入,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root使用者連入MYSQL,然後鍵入以下命令:
grant select,insert,update,delete on *.* to test1@"%" Identified by "abc";
但例1增加的使用者是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一台電腦上登入你的mysql資料庫並對你的資料可以為所欲為了,解決辦法見例2。
例2、增加一個使用者test2密碼為abc,讓他只可以在localhost上登入,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL資料庫所在的那台主機),這樣使用者即使用知道test2的密碼,他也無法從internet上直接存取資料庫,只能通過MYSQL主機上的web頁來訪問了。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "abc";
例3.如果你不想test2有密碼,可以再打一個命令將密碼消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by "";
例4.增加一個系統管理員帳戶:grant all on *.* to user@localhost identified by "password";
其它命令集:
從已經有的表中複製表的結構create table table2 select * from table1 where 1<>1;
複製表create table table2 select * from table1;
對錶重新命名alter table table1 rename as table2;
修改列的類型:
alter table table1 modify id int unsigned;//修改列id的類型為int unsigned
alter table table1 change id sid int unsigned;//修改列id的名字為sid,而且把屬性修改為int unsigned
建立索引:
alter table table1 add index ind_id (id);
create index ind_id on table1 (id);
create unique index ind_id on table1 (id);//建立唯一性索引
刪除索引:
drop index idx_id on table1;
alter table table1 drop index ind_id;
聯合字元或者多個列(將列id與":"和列name和"="串連):
select concat(id,':',name,'=') from students。
limit(選出10到20條)<第一個記錄集的編號是0>:
select * from students order by id limit 9,10。
MySQL不支援的功能:事務,視圖,外鍵和參考完整性,預存程序和觸發器。