MariaDB資料基礎應用

2022-09-23 00:57:12 字數 2724 閱讀 5401

資料基礎應用:

表:create table [if not exists] 'tbl_name' (col1 type1, col2 type2, ...)

col type1

primary key(col1,...)

index(col1, ...)

unique key(col1, ...)

表選項:

engine [=] engine_name

row_format [=]

show engines;

獲取幫助:

mysql> help create table;

檢視建立命令:

show create table tbl_name;

檢視表狀態:

show table status like 'tbl_name'\g

drop table [if exists] 'tbl_name';

alter table 'tbl_name'

字段:新增字段:add

add col1 data_type [first|after col_name]

刪除字段:drop

修改字段:alter, change, modify

索引:新增索引:add

刪除索引: drop

表選項修改:

檢視表上的索引:show indexes from [db_name.]tbl_name;

索引: 索引是特殊資料結構;定義在查詢時作為查詢條件的字段;

索引:要有索引名稱;

建立索引:

create index index_name on tbl_name (index_col_name,...);

刪除索引:

drop index index_name on tbl_name;ml: insert, delete, select, update

insert into:

insert [into] tbl_name [(col_name,...)] (val1,...),(...),...

select:

select col1,col2,... from tbl_name [where clause] [order by 'col_name' [desc]] [limit [m,]n];

字段表示法:

*: 所有字段;

as:字段別名,col1 as alias1;

where clase:

操作符:

>, =, <=, ==, !=

between ... and ...

like:

%:任意長度的任意字元;

_:任意單個字元;

rlike:

正規表示式模式匹配;

is null

is not null

條件邏輯操作:

andor

notdelete:

delete from tbl_name [where clause] [order by 'col_name' [desc]] [limit [m,]n];

update:

update tbl_name set col1=new_val1, col2=new_val2, ... [where clause] [order by 'col_name' [desc]] [limit [m,]n];戶賬號及許可權管理:

使用者賬號:'user'@'host'

user: 使用者名稱

host: 此使用者訪問mysqld服務時允許通過哪些主機遠端建立連線;

ip、網路位址、主機名、萬用字元(%和_);

禁止檢查主機名:

my.cnf, [mysqld]

skip_name_resolve = yes

建立使用者賬號:

create user 'username'@'host' [identified by 'password'];

刪除使用者:

drop user 'username'@'host';

授權: 許可權級別:管理許可權、資料庫、表、字段、儲存例程;

grant priv_type,... on [object_type] db_name.tb_name to 'user'@'host' [identified by 'password'] [with grant option];

priv_type: all [privileges]

db_name.tb_name:

*.*: 所有庫的所表;

db_name.*: 指定庫的所有表;

db_name.tb_name: 指定庫的指定表;

db_name.routine_name:指定庫的儲存例程;

檢視指定使用者獲得的授權:

show grants for 'user'@'host';

show grants for current_user;

**授權:

revoke priv_type, ... on db_name.tb_name from 'user'@'host';

注意:mariadb服務程序啟動時會讀取mysql庫中的所有授權表至記憶體中;

(1) grant或revoke等執行許可權操作會儲存於表中,mariadb的服務程序會自動重讀授權表;

(2) 對於不能夠或不能及時重讀授權表的命令,可手動讓mariadb的服務程序重讀授權表:

mysql> flush privileges;

mariadb資料型別

mariadb 資料型別 mariadb資料型別可以分為 數字,日期和時間以及字串值。使用資料型別的原則 夠用就行,盡量使用範圍小的,而不用大的 a.整數 int,bit b.小數 decimal decimal 5,2 c.字串 varchar,char e.列舉型別 enum eg 下拉列表 c...

資料庫基礎 1 (安裝與操作mariadb)

為了看陽光 我來到世上 資料庫是乙個存放資料的倉庫,目前市面上最流行的資料庫大致氛圍的兩種,一種叫做關係型資料庫,一種叫做非關係型資料庫,而關係型資料庫近期流行的即為mysql,mysql原本是乙個開源的資料庫後被oracle公司收購,開始進行服務收費,因此,市面上大多數免費的類mysql資料庫為m...

你好!MariaDB資料庫

我們最熟知的資料庫莫過於mysql,開源給了他親民的一面,但是它被甲骨文收購以後呢,mysql的能否繼續開源下去成了大家茶前飯後所顧慮的問題,同樣,mysql的創始人widenius 麥可 維德紐斯 先生也在擔心這個問題,他覺得依靠sun oracle來發展mysql,實在很不靠譜,於是決定另開分支...