MySQL簡介


MySQL簡介

基本概念

關系數據庫

  • "關系型"可以理解為"表格"的概念

  • 一個關系型數據庫由一個或數個表格組成

  • SQL:Structured Query Language,結構化查詢語言

  • 是關系型數據庫中最重要的操作語言,可執行查增改刪等功能

  • 常用的關系型數據庫:MySQL、Oracle、DB2、SQL Server、Access、MariaDB、PostgreSQL、SQLite

非關系型數據庫

  • NoSQL -- Not Only SQL

  • 目的:處理大數據

今天我們可以通過第三方平台(如:Google,Facebook等)可以很容易的訪問和抓取數據。用戶的個人信息,社交網絡,地理位置,用戶生成的數據和用戶操作日志已經成倍的增加。我們如果要對這些用戶數據進行挖掘,那SQL數據庫已經不適合這些應用了, NoSQL數據庫的發展也卻能很好的處理這些大的數據。

  • 常用的NoSQL數據庫:mongoDB、Redis


認識MySQL

MySQL優點

  • 體積小、速度快、開放源碼、免費

  • 一般中小型網站的開發都選擇 MySQL ,最流行的關系型數據庫

  • LAMP / LNMP

  • Linux作為操作系統

  • ApacheNginx作為 Web 服務器

  • MySQL作為數據庫

  • PHP作為服務器端腳本

  • 都是免費或開放源碼軟件,不用花一分錢就可以建立起一個穩定、免費的網站系統

安裝MySQL

  • Linux

  • 本文都以Ubuntu 16.04為例

  • sudo apt-get install mysql-server mysql-client

  • Windows

  • 官網下載安裝包

  • 配置環境變量

MySQL服務

  • Linux

  • service mysql status/start/stop/restart

  • /etc/init.d/mysql status/start/stop/restart

  • Window

  • MySQL Notifier

  • MySQL默認端口號:3306

登陸MySQL

  • 登陸:mysql –h 主機名 -u 用戶名 –p

  • 注銷:quit;

  • 修改密碼:mysqladmin –uroot –p舊密碼 password 新密碼

可視化工具

phpMyAdmin、MySQL-Front、MySQL Workbench、Navicat等

SQL語句

  • 不區分大小寫

  • 以分號結尾

  • 注釋:

  • #注釋內容直到行尾

  • --注釋內容直到行尾

  • /*注釋內容*/

  • 執行環境

  • Linux:mysql shell

  • Windows:Command Line Client

  • 可視化工具的SQL 編輯器


操作數據庫

create database 數據庫名;

drop database 數據庫名;

show databases;


操作表

語法

操作表時,必須先指明所使用的數據庫:use 數據庫名;

create table 表名稱(
    列名 數據類型 約束條件,
    列名 數據類型 約束條件,
    ...
    列名 數據類型 約束條件);

數據類型

  • 數字型

  • 整型:int,(tinyint, smallint, mediumint, bigint)

  • 浮點型:float,double

  • 字符串

  • 定長字符串:char(n)

  • 變長字符串:varchar(n)

  • 文本:text,(tinytext, mediumtext, longtext)

  • 日期與時間

  • date, time, datatime

約束條件

  • null

  • not null

  • default

  • primary key

  • auto_increment

  • unsigned

drop table 表名;

alter table 表名 rename 新表名;

show tables;


操作列

alter table 表名 add 列名 數據類型 約束條件;

alter table 表名 drop 列名;

alter table 表名 change 列名稱 新名稱 新數據類型 新約束條件;

  • show columns from 表名;

  • desc 表名;

  • describe 表名;


操作數據

  • insert into 表名 values (值1, 值2, ...);

  • insert into 表名 (列名1, 列名2, ... ) values (值1, 值2, ...);

  • 刪除所有數據:delete from 表名;

  • 刪除指定數據:delete from 表名 where 條件;

  • 更新所有數據:update 表名 set 列名=新值;

  • 更新指定數據:update 表名 set 列名=新值 where 條件;

  • 更新多列:update 表名 set 列名1=值1, 列名2=值2 [where 條件];

  • 更新為默認值:update 表名 set 列名=default [where 條件];

  • 查詢所有數據:select 列名 from 表名;

  • 查詢指定數據:select 列名 from 表名 [where 條件];

  • 查詢多個列:select 列名1, 列名2 from 表名 [where 條件];

  • 查詢所有列:select * from 表名 [where 條件];

  • 指定別名:select 列名 as 別名 from 表明 [where 條件];

  • 查詢唯一值:select distinct 列名 from 表名;

where 條件

  • 比較運算符:=、 >、 <、 >=、 <=、 !=、 <>

  • 擴展運算符:is null、 is not null、 like、 in、 between

  • 邏輯運算符:and、 or

  • 函數:count、sum、avg、max、min

  • 排序:order by

  • 分組:group by


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM