日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql基础_月隐学python第22课

發布時間:2023/12/19 数据库 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 表名;

  • 修改表
#修改字段類型 alter table 表名 modify 字段名 類型 [限制] #增加字段 alter table 表名 add [column] 字段名 類型 [限制]; #刪除字段 alter table 表名 drop [column] 字段名; 修改字段名和類型 alter table 表名 change [column] 舊字段名 新字段名 類型 [限制]; #修改表名 alter table 表名 rename 新表名 alter table 表名 [engine=myisam] [default charset=utf8]; # 可以通過first、 after指定插?位置 alter table student add sno varchar(3) not null after sid; //在sid列后插? alter table student add sid int primary key auto_increment first;//在第?列插?
  • 字段限制
primary key 不允許空值,唯? not null ?空 unique 唯? default 缺省,默認值

例子:

五、數據類型

數值型

  • 整型 能?整型盡量使?整型。包括int、 smallint tinyint
  • int(3) 或者 tinyint(2) :3或者2不會去限制你所存儲數據的?度 ,只有在配合zerofill 零填充的時候 才有意義
  • 浮點數 double 、 decimal
    ?
  • 字符型

    注意:
    (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)
    通配符 _代表?個字符, %代表任意?度字符串

    select * from user where username like '王_'; select * from user where username like '王%';

    3. 排序(order by)

    asc 升序(默認)、 desc 降序、
    ?

    select * from user order by age asc; select * from user order by age desc; //"#多字段排序" select name,age from php_user_history order by age desc,name; //"#如果在第?列上有相同的值,在具有相同的age的記錄上再按name升序排列"

    4.限制結果集(limit)


    limit n #取前n條記錄
    limit offset,n #從第offset條開始取,取n條

    select * from php_user_history limit 3; select * from php_user_history limit 4,2; //注意結果集中記錄從0開始數數, offset相對于0開始 //實現分?必須的技術點 limit (page-1)*num,num

    5.集合函數

    • count統計結果集中記錄數
    • max 最?值
    • min 最?值
    • avg 平均值,只針對數值類型統計
    • sum 求和,只針對數值類型統計
    • 注意,集合函數不能直接使?在where后?的條件?,但可以在?查詢中
    select count(*) num from user; select count(distinct age) num from user; //去除重復記錄 select * from student where sno = max(sno);//錯誤

    6.分組(group by)

    將結果集分組統計,規則:

    • 出現了groub by的查詢語句, select后?的字段只能是集合函數和group by后?有的字段,不要跟其它字段
    • 對分組進?過濾,可以使?having
      ?
    select uid, count(*) num from php_forum group by uid; select uid,title, count(*) num from forum group by uid having count(*) >=2; having和where的區別: where針對原始表進?過濾 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课的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。