wap網(wǎng)站e4a做appseo上首頁排名
文章的操作都是基于小皮php study的MySQL5.7.26進行演示
what
數(shù)據(jù)庫是能長期存儲在計算機內(nèi),有組織的,可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)按照一定的數(shù)據(jù)模型存儲,具有較小的冗余性,較高的獨立性和易擴展性,并為多用戶共享。
我們可以把數(shù)據(jù)庫的概念理解為excel:
-
數(shù)據(jù)庫(database)---excel工作簿,最高層次的組織單位,可以包含一個或多個工作表
-
數(shù)據(jù)表(table)---excel工作表
-
字段(field)是數(shù)據(jù)庫邏輯結(jié)構(gòu)的基本單位---excel中的單元格
-
數(shù)據(jù)庫中只有列的概念,所以字段(標(biāo)明數(shù)據(jù)類型)是在創(chuàng)建表時就一并創(chuàng)建來定義表的結(jié)構(gòu),后續(xù)的增刪改查對應(yīng)的是字段的具體內(nèi)容。沒有空表這一說,創(chuàng)建數(shù)據(jù)表時至少定義一個字段
-
-
how---增刪改查
新建數(shù)據(jù)庫---增
庫---create database [name];
刪除數(shù)據(jù)庫/表---刪
---drop database [name];?drop table?[name];
顯示數(shù)據(jù)庫名稱---查
--show database 這是以數(shù)據(jù)庫服務(wù)器的視角去羅列服務(wù)器中所有的數(shù)據(jù)庫
新建表---增
create table 表名(
字段名稱 字段數(shù)據(jù)類型(字符型后面要跟(number)來表明長度) 不同字段間用,分割
)
CREATE TABLE stuent(
id int primary key,name char(10),sex char(10),address char(10))default charset=utf8; ? ?#默認編碼UTF-8--可忽略 使用自動填充出來就是大寫
?向表內(nèi)填入數(shù)據(jù)---增
insert into 表名(按照字段的順序與數(shù)據(jù)類型以逗號為分割進行增入)
INSERT INTO stuent VALUES(1,'二狗','boy','天津');INSERT INTO stuent VALUES(2,'香秀','girl','象牙山');
insert #插入
into ?#到·····地方
student1 # 我們之前創(chuàng)建的表名
values() ? #我們創(chuàng)建的字段里面填入值
?---我們把id設(shè)為主鍵,就意味著對于每此增加字段時id都是不為空且唯一
?修改表內(nèi)數(shù)據(jù)---改
update 表名 set 字段=? ---一改都該,字段內(nèi)容統(tǒng)一,主鍵不允許被這樣操作
update student set address='中國'
update #更新
student1 #表
set #設(shè)置
條件修改表內(nèi)數(shù)據(jù)---改?
update 表名 set 字段=new內(nèi)容? where 字段=? ps:多個條件用and/or連接
UPDATE stuent set address='象牙山'where id=2?'
刪除表內(nèi)數(shù)據(jù)---刪?
delete from 表名 where 字段=
---若沒有where則是刪除表內(nèi)所有的字段內(nèi)容,僅留下字段的數(shù)據(jù)結(jié)構(gòu)
查詢表內(nèi)字段內(nèi)容--查--一查查一列
select [字段] from [表]
當(dāng)然可以跨庫查詢---SELECT [字段] FROM [庫名.表名]
條件查詢--查--篩選著查
select [字段] from [表] where? 字段名=
information_schema數(shù)據(jù)庫
是 MySQL 中的一個特殊數(shù)據(jù)庫,它包含了關(guān)于所有其他數(shù)據(jù)庫、表、列、數(shù)據(jù)類型、索引、約束、視圖、存儲過程和觸發(fā)器等的元數(shù)據(jù)信息。這些信息對于數(shù)據(jù)庫管理員和開發(fā)者來說是非常有用的,因為它們可以用來查詢和管理數(shù)據(jù)庫結(jié)構(gòu)。
information_schema
?數(shù)據(jù)庫中的表是只讀的,你不能在其中插入、更新或刪除數(shù)據(jù)。這些表是由 MySQL 服務(wù)器在運行時動態(tài)生成的,以反映數(shù)據(jù)庫系統(tǒng)的當(dāng)前狀態(tài)。
最重要的三個表-----
這個對于后續(xù)SQL注入時枚舉數(shù)據(jù)庫架構(gòu)很有幫助---找到數(shù)據(jù)庫找數(shù)據(jù)表然后再找字段最后對應(yīng)字段內(nèi)容(重要的密碼信息等)
SCHEMATA
存儲用戶創(chuàng)建的所有數(shù)據(jù)庫的庫名。其中記錄數(shù)據(jù)庫庫名的字段為SCHEMA_NAME
TABLES
存儲用戶創(chuàng)建的所有數(shù)據(jù)庫的庫名和表名。其中記錄數(shù)據(jù)庫庫名和表名的字段分別為:TABLE_SCHEMA和TABLE_NAME
COLUMNS
存儲用戶創(chuàng)建的所有數(shù)據(jù)庫的庫名、表名、字段名。其中記錄數(shù)據(jù)庫庫名、表名、字段名的字段分別為:table_schema、table_name、column_name
information_schema:表示所有信息,包括庫、表、列
information_schema.tables:記錄所有表名信息的表
information_schema.columns:記錄所有列名信息的表
table_schema:數(shù)據(jù)庫的名稱
table_name:表名
column_name:列名
group_concat():顯示所有查詢到的數(shù)據(jù)