Mysql快速入門

来源:https://www.cnblogs.com/Myoyc/archive/2019/12/25/12097900.html
-Advertisement-
Play Games

MySQL簡介:MySQL是開源免費的資料庫,小型的資料庫.已經被Oracle收購了.MySQL5.5版本之後都是由Oracle發佈的版本,MySQL之前被SUN公司收購,而SUN公司現在又被Oracle公司收購,所以現在MySQL也是屬於Oracle旗下的一款產品。 1.什麼是MySQL? 維基百 ...


MySQL簡介:MySQL是開源免費的資料庫,小型的資料庫.已經被Oracle收購了.MySQL5.5版本之後都是由Oracle發佈的版本,MySQL之前被SUN公司收購,而SUN公司現在又被Oracle公司收購,所以現在MySQL也是屬於Oracle旗下的一款產品。

1.什麼是MySQL?

維基百科上這麼解釋:

MySQL原本是一個開放源碼的關係資料庫管理系統,原開發者為瑞典的MySQL AB公司,該公司於2008年被昇陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品。
MySQL在過去由於 性能高、成本低、可靠性好,已經成為最流行的開源資料庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用於更多大規模網站和應用
但被甲骨文公司收購後,Oracle大幅調漲MySQL商業版的售價,且甲骨文公司不再支持另一個自由軟體項目OpenSolaris的發展,因此導致自由軟體社群們對於Oracle是否還會持續支持 MySQL社群版(MySQL之中唯一的免費版本 有所隱憂,MySQL的創始人麥克爾·維德紐斯以MySQL為基礎,成立分支計劃MariaDB。而原先一些使用MySQL的開源軟體逐漸轉向MariaDB或其它的資料庫

2.為什麼要使用MySQL?

主要有以下幾點:

(1).mysql性能卓越,服務穩定,很少出現異常宕機。

(2).mysql開放源代碼且無版權制約,自主性及使用成本低。

(3).mysql歷史悠久,社區及用戶非常活躍,遇到問題,可以尋求幫助。

(4).mysql軟體體積小,安裝使用簡單,並且易於維護,安裝及維護成本低。

(5).mysql品牌口碑效應,使得企業無需考慮就直接用之,lamp,lnmp流行架構。

(6).mysql支持多種操作系統,提供多種API介面,支持多種開發語言,特別對流行的PHP語言有很好的支持。

3.MySQL安裝

 

 首先在這裡我們來教大家用linux來安裝我們的MySQL,在linux里有兩種方式一:rpm軟體包管理,rpm相當於我們的本地安裝,二:yum安裝,yum安裝就相當於線上安裝,好了現在來進入我們的安裝教程:

線上安裝方式

1.打開虛擬機:

查看是否有MySQL軟體:rpm -qa|grep mysql

有的話我們可以使用卸載方式:

yum remove mysql mysql-server mysql-libs mysql-common

rm -rf /var/lib/mysql

rm /etc/my.cnf

查看是否還有mysql軟體,有的話繼續刪除。

軟體卸載完畢後如果需要可以刪除mysql的資料庫:/var/lib/mysql

2.下載rpm包:

要使用yum 安裝mysql,要使用mysqlyum倉庫,先從官網下載適合你系統的倉庫

http://dev.mysql.com/downloads/repo/yum/

我們是centos6.4對應的rpm包為:mysql-community-release-el6-5.noarch.rpm

 然後將mysql-community-release-el6-5.noarch.rpm上傳到linux系統。

 3.安裝倉庫列表:

註意:在上傳的mysqlrpm包當前目錄下,執行以下命令:

yum localinstall mysql-community-release-el6-5.noarch.rpm 

4.安裝mysql

yum install mysql-community-server

Rpm本地安裝方式

如果沒有網路環境可以使用參考資料中的mysql-rpm文件夾下的mysql安裝包來安裝。

第一步:將以下文件上傳到linux系統

 

 

 第二步:使用rpm命令進行安裝

[root@bogon mysql-rpm]# rpm -ivh mysql-community-*

安裝後,啟動服務、設置密碼、遠程授權後既可以使用

啟動mysql

service mysqld start

設置root用戶密碼

mysql資料庫安裝完以後只會有一個root管理員賬號,但是此時的root賬號還並沒有為其設置密碼,在第一次啟動mysql服務時,會進行資料庫的一些初始化工作,在輸出的一大串信息中,我們看到有這樣一行信息 :

/usr/bin/mysqladmin -u root password 'new-password'  // root賬號設置密碼

mysql遠程連接授權

 

mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 

註意:'myuser''mypassword' 需要替換成實際的用戶名和密碼。

關閉linux的防火牆

[root@bogon linux]# service iptables stop

iptables:清除防火牆規則:               [確定]

iptables:將鏈設置為政策 ACCEPTfilter                      [確定]

iptables:正在卸載模塊:                [確定]

SQL語句使用

1.資料庫操作:database

創建資料庫

語法:

  * create database 資料庫名;

  * create database 資料庫名 character set 字元集;  

 

 

查看資料庫

查看資料庫伺服器中所有的資料庫:show database;

查看某個資料庫定義的信息:show create database 資料庫名;

刪除資料庫

drop database 資料庫名稱;

其他的資料庫操作命令

 

切換資料庫: use 資料庫名;

查看正在使用的資料庫:select database();

表操作: table

欄位類型

常用的類型有:

數字型int

浮點型double

字元型varchar(可變長字元串)

日期類型date(只有年月日,沒有時分秒)

       datetime(年月日,時分秒)

boolean類型不支持

分類

類型名稱

說明

整數類型

tinyInt

很小的整數

smallint

小的整數

mediumint

中等大小的整數

int(integer)

普通大小的整數

小數類型

float

單精度浮點數

double

雙精度浮點數

decimal(m,d)

壓縮嚴格的定點數------開發時用

日期類型

year

YYYY  1901~2155

time

HH:MM:SS  -838:59:59~838:59:59

date

YYYY-MM-DD 1000-01-01~9999-12-3

datetime-開發用

YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59

timestamp

YYYY-MM-DD HH:MM:SS  1970~01~01 00:00:01 UTC~2038-01-19 03:14:07UTC

文本、二進位類型

CHAR(M)

M為0~255之間的整數

VARCHAR(M)

M為0~65535之間的整數

TINYBLOB

允許長度0~255位元組

BLOB

允許長度0~65535位元組

MEDIUMBLOB

允許長度0~167772150位元組

LONGBLOB

允許長度0~4294967295位元組

TINYTEXT

允許長度0~255位元組

TEXT

允許長度0~65535位元組

MEDIUMTEXT

允許長度0~167772150位元組

LONGTEXT

允許長度0~4294967295位元組

VARBINARY(M)

允許長度0~M個位元組的變長位元組字元串

BINARY(M)

允許長度0~M個位元組的定長位元組字元串

創建表

create table 表名(

  欄位名 類型(長度) 約束,

  欄位名 類型(長度) 約束

);

查看表

查看資料庫中的所有表: show tables;

查看表結構: desc 表名;

刪除表

drop table 表名;

修改表

alter table 表名 add 列名 類型(長度) 約束;    --修改表添加列.

alter table 表名 modify 列名 類型(長度) 約束;       --修改表修改列的類型長度及約束.

alter table 表名 change 舊列名 新列名 類型(長度) 約束;     --修改表修改列名.

alter table 表名 drop 列名;      --修改表刪除列

rename table 表名 to 新表名;   --修改表名

alter table 表名 character set 字元集;  --修改表的字元集

插入記錄

語法:

insert into 表(列名1,列名2,列名3..)values (值1,值2,值3..);  --向表中插入某些列

insert into 表 values(值1,值2,值3..);   --向表中插入所有列

insert into 表(列名1,列名2,列名3..) values select (列名1,列名2,列名3)from 表

insert into 表 values select *from 表

註意:

1. 列名數與values後面的值的個數相等

2. 列的順序與插入的值得順序一致

3. 列名的類型與插入的值要一致.

4. 插入值得時候不能超過最大長度.

5. 值如果是字元串或者日期需要加引號’’ (一般是單引號)

更新記錄

語法:

update 表名 set 欄位名=值,欄位名=值;

update 表名 set 欄位名=值,欄位名=值 where 條件;

註意:

1. 列名的類型與修改的值要一致.

2. 修改值得時候不能超過最大長度.

  3.值如果是字元串或者日期需要加’’.

刪除記錄

delete from 表名 [where 條件];

sql查詢

1.查詢商品名稱為十三香的商品所有信息:

    * select * from product where pname = '十三香';

2.查詢商品價格>60元的所有的商品信息:

    * select * from product where price > 60;

where後的條件寫法:

    * > ,<,=,>=,<=,<>

    * like 使用占位符 _ 和 %  _代表一個字元 %代表任意個字元.

        * select * from product where pname like '%新%';

    * in在某個範圍中獲得值(exists.

        * select * from product where pid in (2,5,8);

比較運算符

>  <  <=   >=   =  <>

大於、小於、大於(小於)等於、不等於

BETWEEN  ...AND...

顯示在某一區間的值(含頭含尾)

IN(set)

顯示在in列表中的值,例:in(100,200)

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Linux Apache Mysql Postgresql 安裝 yum -y install httpd yum -y install mysql mysql-server yum -y install php php-mysql php-postgresql php-pgsql php-deve ...
  • MRAM是一種非常複雜的薄膜多層堆疊,由10多種不同材料和超過30層以上的薄膜與堆疊組成,部分薄膜層的厚度僅達數埃,比人類的髮絲還要薄500000倍,相近於一顆原子的大小,如何控制這些薄膜層的厚度、沉積均勻性、介面品質等參數是關鍵所在。因為在原子層級,任何極小的缺陷都會影響裝置效能,所以這些新型存儲 ...
  • 最近在windows上運行tensorflow的時候,出現很多stderr 的信息,干擾了正常的輸出;所以我們需要使用操作把這些輸出屏蔽: 參考鏈接:https://support.microsoft.com/en-us/help/110930/redirecting-error-messages- ...
  • 一、問題描述 打開Word提示 很抱歉此功能看似已中斷,並需要修複。請使用Windows控制面板中的“程式和功能”選項修複Microsoft Office。 二、解決方法 運行 regedit 進入註冊表編輯器 定位到HKEY_CURRENT_USER \ SOFTWARE \ Microsoft ...
  • 本文章主要是用來索引,分散式系統中相關的鏈接: http://sortbenchmark.org/ 保持更新,資源來源自網路;更多內容請關註 cnblogs.com/xuyaowen; ...
  • 保護模式下三個重要的系統表——GDT、LDT和IDT 這裡主要是解釋中斷描述符表 中斷描述符表IDT將每個異常或中斷向量分別與它們的處理過程聯繫起來。與GDT和LDT表類似,IDT也是由8位元組長描述符組成的一個數組。與GDT不同的是,表中第一項可以包含描述符。為了構成IDT表中的一個索引值,處理器把 ...
  • -- BI EMAIL declare @CC varchar(10),@MAIL varchar(500), @str varchar(800),@year varchar(4),@month varchar(2);declare @file_name varchar(50);declare @m ...
  • 大數據開發獨攬大權 大數據技術很早就在BAT這些公司生根發芽,但直到14、15年大數據技術才廣泛應用在各大互聯網公司,大數據技術由此深入各行各業。 此時大數據開發人才非常緊缺,很多公司大數據從立項,到大數據平臺構建,到項目整個流程開發,到後期大數據項目的運維,都是由大數據開發人員一手完成(此時少有專 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...