MySQL資料庫基礎知識彙總(學習筆記)

2021-09-05 12:33:05 字數 4053 閱讀 4810

前言

此文章主要內容是簡單的記錄學習歷程,主要通途是日後查詢東西比較方便,當做字典來使用。內容的順序也是從簡單的入門開始的。內容無非就是增刪改查。

~~ ~~

關聯式資料庫往簡單了說就是乙個乙個的表,每個表都有行和列,表與表之間又有聯絡。其中列,就是乙個乙個的字段,代表著你要存入資料的標題。行,就是一條一條的資訊,就是你填入對應列的資訊。

~~ ~~

入門操作:

登入mysql:

>mysql -u root -p
進去***資料庫:

>use mysql;    #進入mysql資料庫
檢視當前資料庫中所有的表:

>show tables;
更改許可權(變更本地登入許可權為%):

>update user set host=』%』 where user=』root』    #修改root的host為萬用字元%
重新整理許可權(一般用於修改密碼和更改許可權之類的)

>flush privileges
建立賬戶:

#語法是create user 'username'@'host' identified by 'password';

>create user 'test'@'% *identified by '123456';

設定或更改密碼:

#語法:set password for 'username'@'host' = password('newpassword');

> set password for 'test'@'%' = password("123456");

賬戶授權:

#語法是grant privileges on databasename.tablename to 'username'@'host':

#解析:privileges是使用者的操作許可權(增刪改查什麼的),如果給予所有許可權使用all;databasename.tablename分別是資料庫名和表名,如果提供全部許可權使用*.*或者對某資料庫的所有表就是:資料庫名.* ;後邊倆不說了。完事要重新整理許可權。

> grant all on *.* to 'test'@'%':

> flush privileges;

撤銷使用者授權:

#語法:revoke privilege on databasename.tablename from 'username'@'host';

> revoke all on *.* from 'test'@'%;

刪除使用者:

#語法:drop user 'username'@'host';

>drop user 『test』@』%』;

新建資料庫命令:

create database 資料庫名;
刪除資料庫命令:

drop database 資料庫名
~~ ~~

常見操作(***代表某資料庫,***代表某錶):

檢視所有資料庫列表:

>show databases;
切換資料庫(選擇資料庫):

>use ***;
檢視資料庫內所有表的列表:

>show tables;
檢索資料:

#檢索x列,在***表中。(先切換資料庫***) 

#ps:檢索多個列,就加』,』然後加列名。檢索所有列就用*

#ps2:也可以不進入表來操作,就是第一行直接用select ***.***

>use ***;

>select x

>from ***;

檢索資料2:

#如果你檢索的列存在很多重複項,可使用distinct關鍵字,來過濾重複項,返回不同的值。

>select distinct x

>from ***;

限制檢索結果:

#使用limit子句,來指定返回多少行。

>select distinct x

>from ***

>limit 5;

索引後資料的排序(公升序和降序):

#使用order by子句,預設公升序,如果降序需在子句最後加desc關鍵字。

#經常使用兩列同時排序,則可以使用『,』隔開兩列的名稱。

>select id ,name,age,tel

>from name_login

>order by id,name desc; #desc需要時新增,僅標明參考位置

過濾資料(從檢索出的所有資料中,過濾出符合條件的資料):

操作符 說明

= 等於

<> 不等於

!= 不等於

< 小於

<= 小於等於

> 大於

>= 大於等於

between 在指定的兩個值之間

#過濾條件使用where子句

>select id

>from name_login

>where id = 1; #這裡可以使用大於小於不等於等操作符,也可以用is null,進行空值檢查。

資料過濾2(多重過濾):

#結合where子句,使用and,or,in或者not操作符(注意and的優先順序高)。

#in操作符是給定範圍的: in (0,5)

#not是否定後邊的關鍵字的。

>select *

>from name_login

>where id < 5 and id < 3;

使用萬用字元過濾like:

#%代表任意次數,_代表單個字元

>select *

>from name_login

>where id like 『%』;

使用正規表示式過濾regexp:

>select *

>from name_login

>where id regexp 『[12345]』;

建立聯結(建立兩個表的關係的查詢):

#聯結表1列1和表2列1

>selest 列2,列2,列3

>from 表1,表2

where 表1.列1 = 表2.列1

order by 列1,列1;

新增資料:

新增行insert:

#一共兩種一種安位置,一種按關鍵字

>insert into name_login

>values(』6』,』6』,』6』,』6』,』6』,』6』)

>insert into user_login(id,

login_name,

name,

age,

ad,tel)

values(『6』,

『login_name_6』,

『666』,

『6』,

『6』,

『6』);

更新資料(修改資料):

#可使用update語句

>update user_login

>set age = 『7』

>where id = 6; #一定要有where,否則就把所有行的age全給改了。

ps。此語句可以刪除列。

刪除資料(行):

>delete from user_login

>where id = 7;

#請務必限定範圍,否則就清庫了。

資料庫基礎知識彙總

1 事務 事務用來管理insert update delete語句,必須滿足4個條件 acid atomicity 原子性 consistency 穩定性 isolation 隔離性 durability 可靠性 2 索引 作用 大大提高mysql檢索速度。索引分單列索引和組合索引。單列索引,即乙個...

資料庫基礎知識 mysql

按照資料結構來組織 儲存和管理資料的倉庫,其本身可看作電子化的檔案櫃,使用者可以對檔案中的資料進行增加 刪除 修改 查詢等操作資料庫 資料庫管理系統 關係型資料庫 mysql oracle oracale mssql access excel,mysofeware db2 ibm sqllite 輕...

Mysql資料庫基礎知識

用於記錄所學資料庫 mysql 的基礎知識。mysql是乙個單程序多執行緒 支援多使用者 基於客戶機 伺服器 client server簡稱c s 的關聯式資料庫管理系統 結構化查詢語言 structured query language db dbs dbms dba db資料庫 dbs資料庫系統...