1. 程式人生 > >MySQL資料庫入門操作

MySQL資料庫入門操作

一.MySQL中的資料型別

(一)整數型別

tinyint //一個位元組;
smallint //兩個位元組;
int //四個位元組;
bigint //八個位元組
tinyint unsigned//無符號的一個位元組整型,其他的同理

(二)浮點型

float //單精度小數,範圍較小
double //雙精度小數,範圍較大
decimal(m,n)//可以指定位數的小數,m為總位數,n為小數位數
float(m,n) //可以指定位數的單精度小數
double(m,n) //可以指定位數的雙精度小數

(三)字元型

char(m) //定長的字元
varchar(m) //變長的字元

(四)日期型別

datetime //輸入格式 ‘1986-11-11 13:25:59’ 年月日元素必須有,時分秒可以沒有預設為0,也可以沒有分秒或秒
timestamp//同datetime一樣

(五)blob型別

blob型別是一種二進位制物件,可以把羞羞的圖片存在資料裡

TinyBlob //最大能容納255B的資料
Blob //最大能容納65KB的
MediumBlob // 最大能容納16MB的資料
LongBlob // 最大能容納4GB的資料

二.資料庫的重啟

1.net stop mysql //關閉服務
2.net start mysql //開啟服務

三.DDL資料定義語言

(一)定義

資料定義語言包括資料庫的建立刪除及表的建立刪除等

(二)具體語句

1.庫的操作

create database ‘庫名’; //建立一個庫
create database ‘庫名’ character set utf-8; //建立一個編碼為utf-8的庫
show create database ‘庫名’; //檢視建庫資訊
drop database ‘庫名’ ;//刪庫跑路

2.表的操作

create table 表名(
列名1 int primary key auto_increment,//自增列唯一主鍵
列名2 資料型別,

);//建表
drop table 表名;//刪表
alter table 表名 add 列名 資料型別//新增列
alter table 表名 drop 列名//刪除列
alter table 表名 modify 列名 新資料型別//修改列的資料型別

四.DML資料操控語言(增刪改查等)

(一)增

1.把一張表的資料完全移到另一張表中
insert into 新表 select * from 舊錶名; //此語句的前提是兩張表的結構一樣,列名可以不一樣,這裡說一下建立一張完全一樣的表:create table 新表名 like 舊錶名
2.把一張表的部分資料移到另一張表中
insert into 新表(列1,列2…) select 列1,列2…from 舊錶名
3.從檔案中載入資料
load data infile ‘檔案路徑\檔名’ into table 表名 (fields TERMINATED BY 分隔符); //分隔符預設是\t
4.普通增加資料
insert into 表名(列1名,列2名…) values(‘列1值’,‘列2值’)(‘列1值’,‘列2值’)…//一次插入多條資料

(二)刪

delete from 表名; //刪除全部
delete from 表名 where 條件; //刪除指定條件的記錄

(三)改

update 表名 set 列名=新值 (where 條件);//不加條件該列所有值都改為新值

(四)查

select * from 表名;//查詢所有資訊
select * from 表名 where 條件; //查詢符合條件的所有資訊,
select 列1名,列2名 from 表名 where 條件;//查詢符合條件的某些列
select count(*),列名 from 表名 group by 列名; //根據列名分組查詢各組的數量,也可以根據多個列名分組,列名直接用,隔開
select count(*) from 表名 group by 列名 having 條件 ; //分組後過濾掉不符合條件的資訊,
select * from 表名 order by 列名 desc/asc;//查詢結果按列名降序/升序排列
select * from 表名 limit n; //查詢前n條資訊
select * from 表名 limit m,n; //查詢從第m條訊息之後的n條訊息(不包括第m條)
select count(*),列名1 from 表名 where 條件 group by 列名1 having 過濾條件 order by 排序條件 limit 限制條件; //綜合使用
select * from 表1 inner join 表2 on 表1.列=表2.列 where…;//內連線查詢,只有完全符合條件的記錄才會出現
select * from 表1 left outer join 表2 on表1.列=表2.列;//左外連線查詢,位於連線左側的表不管是否符合條件都會出現在記錄中
select * from 表1 right outer join 表2 on 表1.列=表2.列; //右外連線查詢

五.DCL資料控制語言

grant 授權
revoke 回收許可權

(一)建立一個子使用者

create user 使用者名稱 identified by '密碼';

(二)授權

grant 許可權 to 使用者名稱;

許可權有四個:select、delete、update、insert

(三)子使用者可以根據相關的許可權操作資料庫

增刪改查等

(四)回收許可權

revoke 許可權 from 使用者名稱;