mysql基础_月隐学python第22课
目錄
?、數據庫基本概念
常?的數據庫:
MySQL簡介
mysql的安裝
linux下
windows下安裝
?、 SQL
三、操作數據庫
四、數據庫表
例子:
五、數據類型
數值型
字符型?
?期時間型
枚舉enum?
集合set
六、數據操作
1. insert
2.update
3. delete?
七、數據查詢
1 基礎查詢?
2 條件查詢(where)
3. 排序(order by)
4.限制結果集(limit)
5.集合函數
6.分組(group by)
? 存儲引擎
?、數據庫基本概念
數據庫是存放數據的倉庫。它的存儲空間很?,可以存放百萬條、千萬條、上億條數據。但是數據庫并不是隨意地將數據進?存放,是有?定的規則的,否則查詢的效率會很低。
常?的數據庫:
- Oracle - ?前世界上使?最為?泛的數據庫管理系統,作為?個通?的數據庫系統,它具有完整的數據管理功能;作為?個關系數據庫,它是?個完備關系的產品;作為分布式數據庫,它實現了分布式處理的功能。在Oracle最新的12c版本中,還引?了多承租?架構,使?該架構可輕松部署和管理數據庫云。
- DB2 - IBM公司開發的、主要運?于Unix(包括IBM?家的AIX)、 Linux、以及Windows服務器版等系統的關系數據庫產品。 DB2歷史悠久且被認為是最早使?SQL的數據庫產品,它擁有較為強?的商業智能功能。
- SQL Server - 由Microsoft開發和推?的關系型數據庫產品,最初適?于中?企業的數據管理,但是近年來它的應?范圍有所擴展,部分?企業甚?是跨國公司也開始基于它來構建??的數據管理系統。
- MySQL - MySQL是開放源代碼的,任何?都可以在GPL(General PublicLicense)的許可下下載并根據個性化的需要對其進?修改。 MySQL因為其速度、可靠性和適應性?備受關注。
- PostgreSQL - 在BSD許可證下發?的開放源代碼的關系數據庫產品。
MySQL簡介
MySQL最早是由瑞典的MySQL AB公司開發的?個開放源碼的關系數據庫管理系統,該公司于2008年被昇陽微系統公司(Sun Microsystems)收購。在2009年,甲??公司(Oracle)收購昇陽微系統公司,因此在這之后MySQL成為了Oracle旗下產品。
MySQL在過去由于性能?、成本低、可靠性好,已經成為最流?的開源數據庫,因此被?泛地應?于中?型?站開發。隨著MySQL的不斷成熟,它也逐漸被應?于更多?規模?站和應?,?如維基百科、?歌(Google)、臉書(Facebook)、淘寶?等?站都使?了MySQL來提供數據持久化服務。
甲??公司收購后昇陽微系統公司,?幅調漲MySQL商業版的售價,且甲??公司不再?持另?個?由軟件項?OpenSolaris的發展,因此導致?由軟件社區對于Oracle是否還會持續?持MySQL社區版(MySQL的各個發?版本中唯?免費的版本)有所擔憂, MySQL的創始??克爾·維德紐斯以MySQL為基礎,成?分?計劃MariaDB(以他??的名字命名的數據庫)。有許多原來使?MySQL數據庫的公司(例如:維基百科)已經陸續完成了從MySQL數據庫到MariaDB數據庫的遷移。
mysql的安裝
linux下
windows下安裝
參考https://blog.csdn.net/qq_41080850/article/details/97495643
在實際開發中,為了?便?戶操作,可以選擇圖形化的客戶端?具來連接MySQL
服務器,包括:
MySQL Workbench(官?提供的?具)
Navicat for MySQL(界?簡單優雅,功能直觀強?)
SQLyog for MySQL(強?的MySQL數據庫管理員?具)
?、 SQL
基本可分為:
數據定義語?DDL (create、 drop)
數據操作語?DML(insert、 delete、 update)
數據查詢語?DQL(select、 where、 group by、 order by 、 limit)
數據控制語?DCL(grant、 revoke)
事務處理語?TPL(commit、 rollback)
三、操作數據庫
- 連接mysql數據庫的命令
數據庫操作命令
注意:
每條命令結束必須使?; 或者 \g 結束
退出mysql使?命令quit或exit
四、數據庫表
- 創建表
- 刪除表
? ? ? ?drop table 表名;
- 復制表結構
? ? ? ?create table 表名 like 其他表名
- 查看表結構
? ? ? ?desc 表名;
- 查看建表語句
? ? ? ? show create table 表名;
- 修改表
- 字段限制
例子:
五、數據類型
數值型
?
字符型
注意:
(1) char 和 varchar 的區別:
- char的執?效率?于varchar , varchar 相對于 char 節省存儲空間
- 如果使?char 傳?的數據的?度 ?于指定的?度的時候 存儲的實際?度不夠的會拿空格來填充
- 如果使? varchar 傳?的數據的?度 ?于指定的?度的時候 存儲的實際?度 為傳進來的數據的?度
?期時間型
枚舉enum
集合set
六、數據操作
1. insert
2.update
update 表名 set 字段1=值1,字段2=值2... where 條件 #不加where修改的是所有的記錄3. delete
七、數據查詢
基本結構: select 字段名列表 from 表名
1 基礎查詢
2 條件查詢(where)
- 關系運算
關系運算符: > 、 >=、 <、 <=、 =、 !=、 <>、 between and
select username,password from user where uid <10 select username,password from user where uid != 10 select username,password from user where uid between 10 and 20- 邏輯運算
邏輯運算符: and 、 or、 not
select username,password from user where uid < 100 and uid > 20; select username,password from user where uid > 100 or uid < 20;- 集合運算
集合運算符: in、 not in
select username,password form user where uid in (2,3,4) select username,password form user where uid not in (2,3,4)- 判空
判空運算: is null、 is not null
select username,password from user where username is null字符串的模糊查詢(like)
通配符 _代表?個字符, %代表任意?度字符串
3. 排序(order by)
asc 升序(默認)、 desc 降序、
?
4.限制結果集(limit)
limit n #取前n條記錄
limit offset,n #從第offset條開始取,取n條
5.集合函數
- count統計結果集中記錄數
- max 最?值
- min 最?值
- avg 平均值,只針對數值類型統計
- sum 求和,只針對數值類型統計
- 注意,集合函數不能直接使?在where后?的條件?,但可以在?查詢中
6.分組(group by)
將結果集分組統計,規則:
- 出現了groub by的查詢語句, select后?的字段只能是集合函數和group by后?有的字段,不要跟其它字段
- 對分組進?過濾,可以使?having
?
查詢?結:
- 整體順序不能顛倒
- []表示可選,可以有也可以沒有
- select 字段 from 表名 [where 條件][group by ] [having][order by ] [limit]
?
? 存儲引擎
可以使?show engines命令查看數據庫引擎
show engines \G下?的表格對MySQL?種常?的數據引擎進?了簡單的對?。
通過上?的?較我們可以了解到, InnoDB是唯?能夠?持外鍵、事務以及?鎖的存儲引擎,所以我們之前說它更適合互聯?應?,?且它也是較新的MySQL版本中默認使?的存儲引擎。
myisam和innodb的區別:
- myisam查詢速度快,不?持事務、不?持外鍵、?持表鎖
- innodb增刪改效率?,?持事務、?持外鍵,?持?鎖
?
總結
以上是生活随笔為你收集整理的mysql基础_月隐学python第22课的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在JS函数中执行C#中的函数、字段
- 下一篇: mysql练习_创建库与列表、增加列表信