mysql 基礎篇章

abin1703發表於2015-08-03

   最近網際網路公司把mysql搞的相當火,今天我們也來進行學習一下關於mysql的基礎知識。

   mysql與Oracle有很大的區別,oracle是把資料存放在一個庫裡的schema下面,也就是一個庫裡可以有好多個使用者,使用者下面存放了好多的表,不同使用者存放著不同的表,而mysql是以database來區分的,mysql可以建立多個database,database下面可以建立不同的表。若果有學過oracle的基礎知識在學習mysql相對的就簡單一些。


一、基礎命令

1、進入mysql資料庫

mysql -uroot -p 123456

2、檢視資料庫

show databases;

3、建立資料庫

create database test;

4、使用test 資料庫

use test;

5、檢視test資料庫裡的表

show tables;

6、建立表

create table t1 (id int ,name varchar(20));

7、插入資料

insert into t1 values(1,‘a');

8、檢視mysql 是否是自動提交

select @@autocommit; ---如果是1,代表自動提交,如果是0 ,代表需要手工提交,commit

9、設定mysql為手工提交

set autocommit=0;

10、複製一張表

create table t2 like t1;--t2只複製t1 表的結構;

11、要想複製表的資料,需要insert

insert into t2 select * from t1;

12、檢視索引

show index from tt;

13、建立普通索引

create index in_id on tt(id);

13、建立唯一suoyin

create unique index un_name on tt(name);

14、刪除索引

drop index in_id on tt;

15、使用alter建立索引(推薦)

alter table tt add index in_id (id);--建立普通索引

alter table tt add unique index in_name(name);

alter table tt add index primary key (id);

alter table tt drop index in_name;

alter table tt drop primart key;

16、修改一列為自增列(自增列必須為主鍵)

alter table tt modify id int unsigned not null auto_increment;

17、刪除自增列

alter table tt modify id int not null;

18、mysql 檢視(可以做中間表使用,當基表改變時,檢視也隨著改變)

create view v_tt as select * from tt;

show tables;

select * from v_tt;

drop view v_tt;


19、mysql分頁顯示使用關鍵字limit

Select * from t1 limit 4,3;

20、mysql內建函式


字串函式:
concat 連結字串
lcase 轉換小寫
ucase 轉換大寫
length 長度
ltrim 去除前端空格
rtrim 去除前端空格
repeat 重複
replace 替代
substr
space 生成空格


數學函式

bin 十進位制二進位制轉換
ceiling
floor 浮點
max 最大
min 最小
sqrt 平方
rand()隨機

日期函式

curdate 當前日期
curtime 當前時間
unxi_timestamp(date) 時間戳
from_unixtim e
week(date) 一年中的第幾周
year(date)哪一年
datediff( ) 兩個日期相差幾天


21、mysql的預處理語句

prepare aa from ’select * from t1 where id>?'; --建立預處理

set @i=3;--設定變數

execute aa using @i; --使用變數

drop prepare aa; --刪除

22、事物處理

檢視參數列使用的哪一種引擎,只有innodb才支援事物的處理

show create table tt;--檢視後設資料,及使用的引擎、字符集

自動提交關閉

set autocommit=0;--手工提交commit
select @@autocommit;

設定還原點

savepoint p1;

23、儲存過程

\d //
create procedure p1()
begin
set @i=3;
while @i<=100 do
insert into t1(name) values (concat('user' @i));
set @i=@i+1;
end while ;
end//

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30345407/viewspace-1760196/,如需轉載,請註明出處,否則將追究法律責任。