MySQL簡單總結

weixin_34249678發表於2018-06-15

資料庫

```

​ 什麼是資料庫:存放資料的倉庫

​ 分類:關係型:MySQL 、Oracle、 SQL server、PostgreSQL、 Sybase

​     非關係型:Redis MongoDB Memcache Hbase

mysql

​ 1、表的概念:行:對應一條資料

​   列:欄位或者叫屬性

​ 進入MySQL的互動模式:mysql -u你的使用者名稱 -p你的密碼

​ 2、建庫:create database 資料庫名 charset="編碼方式"

​ use databass_name

​ 3、資料型別:number string datetime

​ char(n) 資料表的這個欄位就要佔用n個位元組 然後 不管你裡面放多大資料 他始終佔用n個位元組

​ varchar(n)  用多少佔多少位元組,n表示的是最大佔用位元組數

​ 4、建表:

​ create table stu (id int primary key auto_increment, name varchar(30), age int, grade_id int);

​ 5、插入資料:

​ insert into stu(name, age) values("tom", 20),("bob", 20),("lucy", 39)

​ 6、查詢:

​ select * from stu where name="tom"

​   age between 20 and 30

​   age in (20, 30)

​   name like "t%" and age > 20

​ select * from stu limit 30 拿三十個

​ limit 2 offset 3 第三個資料之後拿兩個

​ limit 3, 2

​ order by age 通過年紀升序排列

​ age desc  降序

查詢1班和2班每班有多少個人,並按班級順序排列

select class,count(*) from A where class in(1,2) group by class order by class

​ 7、內聚函式:avg 求平均值 count 計數 max 求最大 min 最小值 sum 求和

​ 8、分組:group by

​   select avg(age) from stu group by grade_id;

​   select avg(age) from stu group by grade_id having avg(age)>20;

​ 9、連表查詢:

​ select * from t1 left join t2 on t1.t2_id = t2.id where t1.id>100;

​ right join ....on....

select * from (select * from b) as tmp;

先查表b再查表表b的得出的結果

select * from a where name in (select p_name from person);

查詢所有 name 在p_name裡面的

insert into table_name(name) select p_name from person;

表明叫table_name的name的欄位裡

​ 10、約束

​ unique 唯一約束

​ not null 欄位不能為空

​ default 預設值

foreign key(id)

​ 11、事務(面試的時候有可能會問)

​ 原子性:保證你的全部SQL操作全部執行或者全部不執行,執行過程中 如果出現異常 那麼之前的操作就會被回滾

​ 一致性:操作對於原來的欄位約束不會有影響 保持一致

​ 隔離性:如果有多個相同操作的事務被同時呼叫 那麼隔離性會使我們的事務序列執行,保證保證同一時間相同的事務 只有一個對資料做操作

​ 永續性:事務執行完畢 資料將被寫入到資料庫,不會做回滾的動作

​ 12、case ...when... then... end

​ 13、python連線

Redis

​ 優勢:一種非關係型資料,支援記憶體化存放資料,也支援持久化存放資料,支援對key設定過期, 快取的應用,訊息佇列,高速的讀寫能力,支援豐富的資料型別

​ 資料型別:字串 雜湊 列表 集合 和有序集合

​ 對各種資料資料型別的操作,具體參考PPT

​ 訊息的訂閱釋出

​ python的redis的連線互動

MongoDB

​ 既有關係型的特點 也有非關係型資料庫的特點

​ 配置的檔案的作用

​ 對資料的增刪改查

​ 參考SQL {“name”: {$lt:3}

​ python連線mongodb 和互動

​```

相關文章