91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫的概念介紹

發布時間:2021-08-30 19:12:41 來源:億速云 閱讀:213 作者:chen 欄目:編程語言

本篇內容主要講解“MySQL數據庫的概念介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MySQL數據庫的概念介紹”吧!

1.數據庫概念
  • 數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫;

  • 每個數據庫都有一個或多個不同的API用于創建,訪問,管理,搜索和復制所保存的數據;

2.常用的數據庫分類

MySQL數據庫的概念介紹

3.關系型數據庫的優缺點

優點:

  • 容易理解,二維表結構是非常貼近邏輯世界一個概念,關系模型相對網狀、層次等其他模型來說更容易理解 易于維護,都是使用表結構,格式一致;

  • 使用方便,通用的SQL語言使得操作關系型數據庫非常方便;

缺點:

  • 讀寫性能比較差,尤其是海量數據的高效率讀寫;

  • 固定的表結構,靈活度不高;

  • 每一步都要進行加鎖的操作,增加數據庫負擔;

  • 不擅長對簡單查詢需要快速返回結果的處理;

4.非關系型數據庫的優缺點

優點:

  • 格式靈活,存儲數據的格式可以是key,value形式、文檔形式、圖片形式等等,文檔形式、圖片形式等等,使用靈活,應用場景廣泛,而關系型數據庫則只支持基礎類型;

  • 無需經過sql層的解析,讀寫性能很高;

  • 基于鍵值對,數據沒有耦合性,容易擴展;

缺點:

  • 不提供sql支持,學習和使用成本較高;

  • 無事務處理;

  • 數據結構相對復雜,復雜查詢方面稍欠;

5.MySQL數據庫的概念
  • MySQL是一種關系型數據庫管理軟件;

  • 也是Web世界中使用最廣泛的數據庫服務器

  • MySQL內部有多種數據庫引擎,最常用的引擎是支持數據庫事務的InnoDB;

MySQL在過去由于性能高、成本低、可靠性好,已經成為最流行的開源數據庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規模網站和應用,比如維基百科、Google和Facebook等網站。非常流行的開源軟件組合LAMP中的“M”指的就是MySQL;

6.MySQL數據類型
  • 整數:tinyintsmallintmediumintintbigint

  • 浮點數:floatdoublerealdecimal

  • 日期和時間:datetimedatetimetimestampyear

  • 字符串:charvarchar

  • 文本類型:tinytexttextmediumtextlongtext

  • 二進制:tinyblobblobmediumbloblongblob

  • 對數據類型的修飾符:unsignednot nulldefault

7.SQL語句分類
  • DDL:數據庫定義語言,負責數據庫定義,包括CREATEALTERDROP

# 創建庫
create database Student;
# 如果沒有Student這個庫則創建它,character set指定字符集為utf8, 排序規則為utf8_bin
create datebase if not exists Student character set utf8 collate utf8_bin
# 刪除庫
drop database Student;
# 修改庫
alter database Student character set = utf8mb4
alter database Student collate = utf8mb4_general_ci
# 創建表
create table students (id int not null primary key auto_increment, name varchar(250) not null, class varchar(250) not null) engine=InnoDB default charset=utf8;
# 查看表結構
desc students;
# 修改表
alter table students add gender enum('f','m');
alter table students drop gender;
alter table students change name username varchar(100) after id;
alter table students modify username varchar(100) first;
# 刪除表
drop table students;
  • DML:數據庫操作語言, 負責數據集對象操作,包括INSERTDELETEUPDATESELECT

# 給students表增加數據
insert into students (class,username) values ('一年級', 'Luky'), ('二年級', 'Tom'), ('三年級', 'Mark');
# 修改students表中id = 1 的字段class的值為“初一”
update students set class = '初一' where id = 1;
# 刪除class為一年級的字段
delete from students where class = '一年級';
  • DCL:數據庫控制語言, 負責權限訪問控,包括GRANTREVOKE

# 先創建用戶,再授權
create user Mark@'172.16.19.%' identified by '123456';
grant all on *.* to Mark@'172.16.19.%';
flush privileges;
# 創建用戶的同時給用戶授權
grant all on *.* to Mark@'172.16.19.%' identified by '123456';
flush privileges;
# 給用戶授予某些權限
show grants for Mark@'172.16.19.%';
# 撤銷授權
revoke select ON *.* from Mark@'172.16.19.%';
flush privileges;
# 查看用戶的權限
show grants for Mark@'172.16.19.%';
# 刪除用戶
delete from mysql.user where user = "Mark";
flush privileges;
# 刪除用戶
drop user 'Mark'@'192.168.%.%';
# 修改密碼
(1)set password for 'Mark'@'192.168.%.%' = password('123456');
(2)使用update命令,直接修改 mysql.user 用戶表,修改之后flush priveleges;
  • TCL:事務控制語言,負責ACID事務處理,包括commit(提交)rollback(回滾)

# SQL刪除記錄語句
sql = "DELETE FROM Student WHERE AGE > %s" % (30)
try:
    cursor.execute(sql)
    # 向數據庫提交
    db.commit()
except:
    # 發生錯誤時回滾
    db.rollback()
  • SQL語句不區分大小寫,句尾使用分號表示一條語句結束, \G 結尾表示以以豎行顯示

8.SELECT 語句

MySQL數據庫的概念介紹

  • 查詢表上的所有的數據;

select * from Student
  • 查詢部分數據;

select id,name from Student;
  • as給字段取別名,可以給一個字段取,也可以給多個字段取;

select id as num,name from Student;
select id as num,name as username from Student;
  • where子句用于指明過濾條件,可以使用的算數運算符有:+, -, * ,/ ,= ,!= ,<=, >=,連接詞有:and , or

select * from Student where id >= 1;
select * from Student where id <= 5 and id >1;
select * from Student where id <3 or id >10;
select * from Student where id between 1 and 5;    # between 較小的數 and 較大的數
  • like語句用于模糊匹配,%表示任意長度的字符,_表示任意單個字符

select * from Student where class like 'Ma%';
select * from Student where class like 'Ma_k';
  • 可以使用null對值進行判斷

select * from Student where id is not null;
select * from Student where id is null;
  • group by 子句可以根據指定的查詢條件將查詢結構進行分組,用于做聚合運算,可以使用的聚合函數:avg()max()min()count()sum()

select age,gender from students group by gender; 
select avg(age),gender from students group by gender; 
select min(age), gender from students group by gender;
select max(age), gender from students group by gender;
select count(id), gender from students group by gender;
  • 使用order by語句排序,默認是asc,表示升序排列,desc是降序;

select * from Student order by id desc;
  • having子句用于將分組之后的結果再次過濾;

select avg(age) as 'average_age', gender from students group by gender having average_age > 50;
  • limit 子句用于對查詢的結果進行輸出行數的限制 ;

# 選前5行
select id,name from students order by id desc limit 5; 
# 前4個不選,從第5行開始選2行
select id,name from students order by id limit 4, 2;
  • 子句的書寫順序:where -> group by -> having -> order by -> limit

select *,avg(score) as '各班平均成績' from students where id > 1 group by class having avg(score) > 55 order by score desc limit 3 ;

到此,相信大家對“MySQL數據庫的概念介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平远县| 峡江县| 曲水县| 南昌市| 新化县| 蒲江县| 万安县| 吉木萨尔县| 红河县| 临邑县| 富裕县| 大邑县| 平泉县| 驻马店市| 和顺县| 新郑市| 金川县| 星座| 霍林郭勒市| 瑞丽市| 山丹县| 搜索| 吴桥县| 凤台县| 丹江口市| 天等县| 屏山县| 宝兴县| 松阳县| 肃宁县| 吉隆县| 耒阳市| 景东| 革吉县| 上栗县| 城步| 蓝山县| 大名县| 潼关县| 巴里| 内黄县|