web前端中基礎的MySQL知識點(課堂 筆記)

MYSQL

安裝MYSQL

方法一:單獨安裝MYSQL;php

方法二:安裝XAMPP集成環境(建議),如下教程默認使用XAMPP環境。mysql

登陸

方法一:CMD命令行中操做。面試

說明:本人的mysql安裝在C:\xampp\mysql下,假設mysql未設系統環境變量。sql

c:cd C:\xampp\mysql\binmysql -uroot -p(此處輸入密碼而後回車,無密碼直接回車)數據庫

方法二:XAMPP環境下,啓動Apache和Mysql。打開瀏覽器,地址欄輸入http://localhost:88/phpmyadmin,使用WEB界面方式操做數據庫。瀏覽器

方法三:下載DBMS(數據庫管理系統)軟件,用軟件界面的方式操做數據庫,推薦navicat。spa

 

SQL語句分四種類型:

  DDL 數據定義語言,好比建庫、建表命令行

  DCL 數據控制語言,好比爲某用戶賦予權限、撤銷權限code

  DML 數據操縱語言,好比在某張表中插入、更新記錄排序

  DQL 數據查詢語言,好比在某張表中查詢某些語句

DDL定義數據庫+

數據庫操做:

建立數據庫: 

  方法一:CREATE DATABASE 數據庫名稱 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

  方法二:CREATE DATABASE 數據庫名稱 CHARSET utf8;

  CREATE DATABASE myuser CHARSET utf8;

查看數據庫

     SHOW DATABASES;

修改數據庫

     ALTER DATABASE 數據庫名稱 CHARACTER SET utf8;

刪除數據庫

     DROP DATABASE 數據庫名稱;

使用(切換)數據庫

     USE 數據庫名稱;

 

數據表操做:

建立表:

CREATE TABLE  表名(

    字段名稱1  數據類型,

    字段名稱2  數據類型,

    ...

  );

例:

CREATE TABLE myuser(    

id INT PRIMARTY KEY AUTO_INCREMENT,    

name VARCHAR(30),    

pwd VARCHAR(30),    

age INT(30),    

email VARCHAR(30),    

addr VARCHAR(30)

);

約束:

主鍵

  用PRIMARY KEY標識,一張表中只能有一個主鍵。

自增約束

  用AUTO_INCREMENT標識,通常主鍵會設爲自增加,其餘字段只要有須要便可爲其添加自增加屬性。

刪除數據表:

  DROP TABLE 表名;

查看錶結構:

  DESC 表名;

DESC TABLE myuser;

MYSQL數據類型

  TINYINT 很小的整數 1個字節

  SMALLINT 小的整數 2個字節

  MEDIUMINT 中等大小的整數 3個字節

  INT 普通大小的整數 4個字節

  BIGINT 大整數 8個字節

  FLOAT 單精度浮點數 4個字節

  DOUBLE 雙精度浮點數 8個字節

  DECIMAL 壓縮的「嚴格」定點數(金錢) M+2個字節

DML操做數據

插入語句 :

用法一:INSERT  INTO 表名 VALUES(字段值1,字段值2,...);

INSERT INTO myuser VALUES(    NULL,    "周芷若",    "123",    "20",    "zzr@qq.com",    "峨眉山");

用法二:INSERT INTO 表名(字段名1,字段名2,...) VALUES(字段值1, 字段值2,...);

INSERT INTO     myuser(name,pwd,addr)    values("小昭","123","光明頂");

用法二可省略某些字段,可是省略的字段不能夠是非空字段,除非已經爲其設置自增加。

更新語句:

用法一 :UPDATE 表名 SET 字段名=字段值;

            修改全部數據(指定字段值)

   用法二:UPDATE 表名 SET 字段名=字段值 WHERE 字段名=字段值;

    SET後面的"字段名=字段值",爲設置的值

    WHERE後面的"字段名=字段值",爲查詢的值

   用法三:UPDATE 表名 SET 字段名1=字段值1,字段名2=字段值2 WHERE 字段名=字段值;

 

下句將myorder表中orderid值爲2的記錄的addr字段值更新爲‘光明頂’:

UPDATE myorder SET addr='光明頂' WHERE orderid=2;

WHERE後的語句指定了更新的條件,條件是一個表達式,能夠使用任意字段做爲條件,符合篩選條件的記錄纔會執行更新。若不加WHERE條件,UPDATE語句會默認將表中全部數據的記錄按照語句執行更新,以下:

UPDATE myorder SET addr='光明頂';

刪除語句:

用法一:DELETE FROM 表名;

        注意 刪除指定表中全部數據

用法二:DELETE FROM 表名 WHERE 字段名=字段值;

數據庫操做原則:只增不刪,只作邏輯刪除,不作物理刪除。

SQL操做(刪除)

          物理刪除 執行DELETE語句

      邏輯刪除

      簡單來講,對於用戶來說是刪除的,對於實際來說並無刪除

      爲指定表,增長一個字段(state|status),表示當前這條記錄是什麼狀態

       值爲1的話,表示這條記錄是正常的

       值爲0的話,表示這條記錄是刪除的

 

DQL查詢數據

數據庫查詢語句主要是select語句。

①基本查詢 新版本同樣

   用法一:SELECT * FROM 表名;

   用法二:SELECT 字段名1,字段名2,... FROM 表名;

②條件基本查詢。使用WHERE關鍵字。

   用法 : SELECT * FROM 表名 WHERE 字段名=字段值;

③複雜條件查詢

   AND - 表示多個條件同時知足

   OR - 表示其中一個條件知足

   IN(SET) - 表示一個字段包含多個值

       SET - 多個值,之間使用","

   = - 表示字段值爲指定值

   BTWEEN  AND - 等於 >= AND <=

   IS  NULL - 匹配NULL

④排序查詢 - ORDER BY 字段名

    ASC - 正序排序,默認值

    DESC - 倒序排序

 

書寫順序:SELECT * FROM 表名 WHERE 條件 ORDER BY 字段名;

練習:

查詢myuser表中全部的記錄:

select * from myuser;

查詢myuser表中符合某條件的記錄,使用WHERE關鍵字。

查詢齡小於50歲,且住址在光明頂的記錄:

select * from myuser where age<50 AND addr'光明頂'

查詢id值爲1或者name值爲「周芷若」的記錄

select * from myuser where id=1 OR name='周芷若';

查詢住址在光明頂或者汝陽王府的記錄,如下兩句等效:

select * from myuser where addr='光明頂' OR addr='汝陽王府'; select * from myuser where addr IN('光明頂','汝陽王府');

查詢年齡在15餘40之間的記錄,如下兩句等效:

select * from myuser where age BETWEEN 15 AND 40; select * from myuser where age>=15 AND age<=40;

 

面試題: select * 和select字段哪一個效率高?

答案:舊版MYSQL中select *效率低,新版MYSQL(最新版本MYSQL5.6)中查詢效率同樣高。

排序

select * from myuser order by age asc;//升序排列,不寫asc默認即升序

select * from myuser order by name desc;//降序排列,字符串比較按照unicode碼比較

相關文章
相關標籤/搜索