2.1登入到mysql控制台[使用者名稱為root,密碼預設為空白]
切換到mysql的bin目錄cd d:/wamp/mysql/bin
登入到mysql控制台
文法:mysql -h hostname -u username -p
串連到另一台主機
代碼:mysql -h 192.168.1.1 -u root -p
password:直接按斷行符號
串連到本機
代碼:mysql -h 127.0.0.1 -u root -p
password:直接按斷行符號
出現mysql>表示登陸到mysql控制台成功
2.2退出mysql控制台
mysql>exit;
/***********************************************************/
3.1檢查所有mysql資料庫清單;
文法:mysql> show databases;
代碼:mysql> show databases;
3.2顯示資料庫中所有表的清單
查看當前資料庫中的表
文法1:mysql> show tables;
代碼1:mysql> show tables;
3.3查看其它資料庫jxc中的表
文法1:mysql> show tables from databasename;
代碼1:mysql> show tables from jxc;
/***********************************************************/
4.建立/刪除/選擇資料庫
建立jxc資料庫:
文法:mysql> create database databasename;
代碼:mysql> create database jxc;
刪除jxc資料庫:
文法:mysql> drop database databasename;
代碼:mysql> create database abc;
代碼:mysql> drop database abc;
選擇jxc資料庫:
文法:mysql> use database;
代碼:mysql> use jxc;
/***********************************************************/
5查看一個表的資料結構
5.1 describte查看錶customers結構
文法1:mysql> describe tablename;
代碼1:mysql> describe customers;
5.2.show columns查看錶customers;結構
文法1:mysql> show columns from tablename;
代碼1:mysql> show columns from customers;
5.3.查看一個表的指定列名的資料結構
文法1:mysql> show index from tablename column;
代碼1:mysql> show index from customers name;
5.4.查看一個表customers的索引
文法1:mysql> show index from tablename;
代碼1:mysql> show index from customers;
6.資料常用操作(select,insert,update,delete)
6.1 select選擇:
文法:select * from [表名1,表名1,,,] where [條件範圍]
代碼:select * from orders where orderid>100;
6.2 insert插入
文法:insert into table1(column1,column,,,) values(value1,value2,,,);
代碼:insert into books(isbn,author,title,price) values('iso-902126','jahn.D','mysql6.0',99.0);
6.3 update 更新:
文法:update table1 set [列名]=[新資料] where [條件範圍]
代碼:update books set title="Thinking in Java" where isbn='iso-902126';
6.4刪除:
文法:delete from [表名] where [條件範圍]
代碼:delete from books where isbn='iso-902126';
6.5其它方法
尋找:select * from table1 where field1 like '%value1%' ---like的文法很精妙
排序:select * from table1 order by field1,field2 [desc]
總數:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
/***********************************************************/
7.用grant建立資料庫的使用者和許可權
GRANT命令文法:
GRANT [許可權列表1],[許可權列表2]
ON [資料庫.表名]
TO [使用者名稱@主機名稱]
IDENTIFIED BY '密碼';
代碼實現1:
grant select,insert,delete,update
on discuz.* to jake@localhost
identified by '201314';
功能說明
把在資料庫discuz所有表的select,insert,delete,update這4個許可權
添加到新使用者jake,密碼為'201314';
代碼實現2:
grant all
on discuz.* to tom@localhost
identified by '123456';
把在資料庫discuz全部許可權所有表添加到新使用者tom,密碼為'123456';
[許可權列表1]選項如下
select 表,列
insert 表,列
udpate 表,列
delete 表
index 表
alter 表
create 資料庫,表
drop 資料庫,表
[許可權列表2]選項如下
create temporary tables 允許使用temporary關鍵字
file 允許資料庫匯入和匯出到檔案
lock tables 允許使用lock talbes命令
reload 允許重新載入授權表
show databases 允許查看所有的資料庫清單
shutdown 允許使用關閉MYSQL
all 上面所以許可權
usage 允許只登入,但不允許任何操作
[資料庫.表名]選項如下
資料庫.表名 選擇資料庫中一個表給XX使用者
資料庫.* 選擇資料庫中所有表給XX使用者
/***********************************************************/
8.revoke取消使用者和使用者權限
revoke格式:
revoke [許可權列表1],[許可權列表2] privileges,[columns]
ON [資料庫.表名]
FROM [使用者名稱@主機名稱]
代碼:
先授權給laoliu(老劉)
grant all
on books.*
to laoliu
identified by 'laoliu11';
撒去一部分許可權
revoke alter,create,drop
on books.*
from laoliu;
撒去laoliu的所有許可權
revoke all
on books.*
from laoliu;
/***********************************************************/
9.添加MYSQL使用者其它方法
shell> mysql -u root -p1234 mysql
mysql> insert into user(Host,User,Password) values ('localhost','backup','databse');
添加一個來自原生mysql 使用者backup,口令為:1234
shell>mysql –u root –p
mysql>GRANT FILE ON *.* TO backup@192.168.1.200 IDENTIFIED BY '1234';
mysql>/exit
開放一個帳號backup密碼1234給來自IP:192.168.1.200有檔案處理的許可權
/***********************************************************/
10.建立表/修改表/刪除表//最佳化表
10.1建立表
文法:create table tablename(columns,...)
代碼:
create table order_items
(orderid int unsigned not null,
isbn char(13) not null,
quantity tinyint unsigned,
primary key (orderid,isbn)
);
10.2修改表
10.2.1添加/刪除一列
文法:alter table [表名] add column [列名] [類型];
在表中添加一列remark
代碼:alter table order_items add column remark char(50);
刪除一列
文法:alter table [表名] drop column [列名];
從表中刪除一列remark
alter table order_items drop column remark;
10.2.2添加/刪除主鍵
添加orderid,isbn為主鍵
文法:alter table [表名] add primary key [列名1,列名1];
代碼:alter table order_items add primary key (orderid,isbn);
刪除主鍵
文法:alter table [表名] drop primary key
代碼:Alter table tabname drop primary key
10.2.3建立/刪除索引
建立索引
文法:create index [索引名] on [表名] (列名);
代碼:create index orderid_ix on orders (orderid);
刪除索引
文法:drop index [索引名] on [表名] (列名);
代碼:drop index orderid_ix on orders;
10.3刪除表:
刪除表
文法:drop table [表名]
代碼:drop table orders;
10.4最佳化表:
當一個表的資料有上萬行,訪問速度變慢,就必須為它們進行最佳化
通常的方式是做出一個optmize.sql檔案,
直接匯入這個最佳化指令檔進行批量最佳化一些關鍵的表,以提高訪問速度
最佳化表customers資料(customers)
文法:mysql>optmize table tablename;
代碼:mysql>optmize table customers;
10.5 用命令列載入一個new_tb.sql檔案
從而讓MYSQL一次批量執行上*SQL檔案中的在量的sql語句
1.文字檔做好sql命令集合,然後複製到命令列一個個的執行
2.如果表太多的話,直接存為*.sql檔案,然後用命令裝入檔案
格式: mysql -h [主機IP] -u [使用者名稱] -D [資料庫名] -p < [此目錄中的*.sql檔案名稱]
運行cmd
cd d:/wamp/mysql/bin
mysql -h 127.0.0.1 -u root -D pubs -p <new_tb.sql;
上面就是用mysql把d:/wamp/mysql/bin/new_tb.sql檔案載入到books資料庫,
注意:資料庫pubs必須存在和-D要大寫
new_tb.sql檔案內容(此檔案的SQL命令是可以存1000條以上的)
create table customers
(customerid int unsigned not null auto_increment primary key,
name char(50) not null,
address char(100) not null,
city char(30) not null
);
create table orders
(orderid int unsigned not null auto_increment primary key,
customerid int unsigned not null,
amount float(6,2),
date date not null
);
create table books
(isbn char(13) not null primary key,
author char(50),
title char(100),
price float(6,2)
);
create table order_items
(orderid int unsigned not null,
isbn char(13) not null,
quantity tinyint unsigned,
primary key (orderid,isbn)
);
create table book_reviews
(isbn char(13) not null primary key,
review text
);
執行OK後,再進行檢查表是否自動建立OK?
c:>mysql -h 127.0.0.1 -u root -p
mysql>show tables from pubs;
結果顯示以上5個表都已經建立OK;
/***********************************************************/
11.表的視圖建立與刪除
建立視圖
文法:create iview [視圖名] as [select 語句);
代碼:create view v_orders as select * from orders;
刪除視圖
文法:drop iview [視圖名]
代碼:create view v_orders
/***********************************************************/