穀哥的小弟學後台(02)——MySQL(2)

來源:互聯網
上載者:User

標籤:剖析   efi   撤銷   長度   addclass   modify   衝突   ++   後台   

探索Android軟鍵盤的疑難雜症
深入探討Android非同步精髓Handler
詳解Android主流架構不可或缺的基石
站在源碼的肩膀上全解Scroller工作機制

Android多解析度適配架構(1)— 核心基礎
Android多解析度適配架構(2)— 原理剖析
Android多解析度適配架構(3)— 使用指南

自訂View系列教程00–推翻自己和過往,重學自訂View
自訂View系列教程01–常用工具介紹
自訂View系列教程02–onMeasure源碼詳盡分析
自訂View系列教程03–onLayout源碼詳盡分析
自訂View系列教程04–Draw源碼分析及其實踐
自訂View系列教程05–樣本分析
自訂View系列教程06–詳解View的Touch事件處理
自訂View系列教程07–詳解ViewGroup分發Touch事件
自訂View系列教程08–滑動衝突的產生及其處理

著作權聲明
  • 本文原創穀哥的小弟
  • 作者部落格地址:http://blog.csdn.net/lfdfhl
SQL簡述

Structure Query Language(結構化查詢語言 (SQL))簡稱SQL,它被美國國家標準局(ANSI)確定為關係型資料庫語言的美國標準,後被國際化標準組織(ISO)採納為關聯式資料庫語言的國際標準。資料庫管理系統可以通過SQL管理資料庫;定義和操作資料,維護資料的完整性和安全性

SQL的優點

  • 簡單易學,具有很強的操作性
  • 絕大多數重要的資料庫管理系統均支援SQL
  • 高度非過程化;用SQL操作資料庫時大部分的工作由DBMS自動完成

SQL的分類

  • DDL(Data Definition Language)
    資料定義語言 (Data Definition Language),用來操作資料庫、表、列等;
    常用語句:CREATE、 ALTER、DROP
  • DML(Data Manipulation Language)
    資料操作語言,用來操作資料庫中表裡的資料;
    常用語句:INSERT、 UPDATE、 DELETE
  • DCL(Data Control Language)
    資料控制語言,用來操作存取權限和安全層級;
    常用語句:GRANT、DENY
  • DQL(Data Query Language)
    資料查詢語言,用來查詢資料
    常用語句:SELECT

在此,請注意區分DDL和DML:
它們兩者的作用對象和層級不一樣。DDL操作的對象是資料庫,或者一張表,或者表中的某列;DML操作的是表裡的資料。

在瞭解完這些基礎知識之後,我們來依次詳細學習DDL、DML、DCL、DQL

DDL

建立資料庫

create database db1;

建立名字為db1的資料庫

show create database db1;

查看剛才建立的資料庫db1,結果如下:

| Database | Create Database
| db1          | CREATE DATABASE db1 /!40100 DEFAULT CHARACTER SET utf8 /**

從這裡可以看出,剛才建立的資料庫採用的是utf8作為字元集。

當然,我們還可以在建立資料庫時為其指定字元集

create database db2 character set gbk;

查詢資料庫

show databases;

查詢出所有的資料庫

刪除資料庫

drop database db2;

其實,從這也可以看出來建立資料庫和刪除資料庫是非常類似的,只不過它們的關鍵是不同;前者使用的是create後者是drop

修改資料庫

alter database db1 character set gbk;

將資料庫db1的字元集修改為gbk

切換資料庫

use db1;

表示現在開始使用資料庫db1

查看當前使用的資料庫

select database();

請注意該語句最後有個括弧()

建立表

文法如下:

create table 表名(
          欄位1 欄位類型,
          欄位2 欄位類型,
          ……………
          欄位n 欄位類型
);

樣本,建立一張員工表:

在此建立一張員工表,包含了員工的基本資料。

查看當前資料庫中的所有表

show tables;

查看剛才建立的表

show create table employee;

查看錶的欄位資訊

describe employee;

也可以簡寫為:

desc employee;

修改表的字元集

alter table employee character set gbk;

為表增加列

alter table employee add column photo blob;

為表添加了資料類型為blob的列photo

也可以簡寫為:

alter table employee add photo blob;

修改列的長度

alter table employee modify job varchar(170);

將表中job欄位的長度修改為170

修改列的名稱

alter table employee change name username varchar(100);

將表中原name改名為username

刪除列

alter table employee drop photo;

刪除表中的photo列

修改表的名字

rename table employee to user;

刪除表

drop table user;

DML

DML用於對錶中的資料進行增、刪、改的操作。常用的語句有INSERT 、UPDATE、 DELETE

嗯哼,我們先建立一張表

create table employee(
           id int,
           username varchar(100),
           gender varchar(10),
           birthday date,
           salary float(10,2),
           entry_date date,
           resume text
);

插入操作:INSERT

INSERT的文法:

INSERT INTO 表名(列名1,列名2 …)VALUES(列值1,列值2…);

請注意:

  • 列名與列值的類型、個數、順序要一一對應
  • 列值不要超出列定義的長度
  • 如果插入空值,請使用null
  • 插入的日期和字元需用引號括起來,例如:’sun’、’2016-09-04’

INSERT的樣本:

INSERT INTO employee
(id,username,gender,birthday,salary,entry_date,RESUME)
VALUES (1,’大澤瑪利亞’,’female’,’1990-09-12’,20000.00,’2010-11-22’,’beauty’);

INSERT INTO employee
(id,username,gender,birthday,salary,entry_date,RESUME)
VALUES (2,’武藤蘭姐姐’,’female’,’1980-09-12’,30000.00,’2000-12-12’,’good’);

INSERT INTO employee
(id,username,gender,birthday,salary,entry_date,RESUME) VALUES
(3,’井空蒼妹妹’,’female’,’1987-07-28’,50000.00,’2001-08-09’,’great’);

當然,也可以批量插入資料:

INSERT INTO employee VALUES
(4,’杉原杏璃’,’female’,’1992-04-01’,60000.00,’2014-09-03’,’very good’),
(5,’佐佐木希’,’female’,’1993-05-09’,70000.00,’2013-04-04’,’very nice’),
(6,’伊藤梅子’,’female’,’1995-11-07’,80000.00,’2012-03-05’,’very sexy’);

修改操作:UPDATE

UPDATE的文法:

UPDATE 表名 SET 列名1=列值1 , 列名2=列值2…..WHERE 列名=值

UPDATE的樣本:

UPDATE employee SET salary=88000;

將表中所有員工的salary修改為88000

UPDATE employee SET salary=99000 WHERE username=’大澤瑪利亞’;

將表中username為大澤瑪利亞的員工的salary修改為99000

UPDATE employee SET salary=69000,birthday=’1993-02-28’ WHERE username=’井空蒼妹妹’;

將表中username為井空蒼妹妹的員工的salary修改為69000、birthday修改為1993-02-28

UPDATE employee SET salary=salary+1000 WHERE username=’佐佐木希’;

將表中username為佐佐木希的員工的salary增加1000

刪除操作:DELETE

DELETE的文法:

DELETE FROM 表名 WHERE 列名=值

DELETE的樣本:

DELETE FROM employee WHERE username=’大澤瑪利亞’;

將表中username為大澤瑪利亞的員工刪除

DELETE FROM employee;

使用DELETE將表中所有資料刪除,執行該操作後表結構還存在,刪除後的資料可以找回

TRUNCATE TABLE employee;

使用TRUNCATE將表中所有資料刪除,執行該操作後系統將該表DROP然後再建立一個同樣的新表,其執行速度遠快於DELETE;但是請注意:該方式刪除的資料不能找回。

DCL

之前我們說過:DCL(資料控制語言)用來定義存取權限和安全層級;在此對其進行簡單的介紹

建立使用者

建立使用者的文法為:

create user 使用者名稱@IP地址 identified by 密碼;

請看如下樣本:

create user [email protected] identified by ‘123456’;

在此建立一個新使用者,使用者名稱為xy密碼是123456

請注意,建立新使用者後需要執行命令更新許可權表(grant tables)

FLUSH PRIVILEGES;

給使用者授權

給戶授權的文法為:

grant 許可權1,許可權2,……..,許可權n on 資料庫名.* to 使用者名稱@IP地址 identified by ‘密碼’;

如果將操作資料庫的所有的許可權授予使用者,文法為:

grant all on 資料庫名.* to 使用者名稱@IP地址 identified by ‘密碼’;

請看如下樣本:

grant all on db1.* to [email protected] identified by ‘123456’;

撤銷授權

撤銷授權的文法為:

revoke 許可權1,許可權2,……..,許可權n on 資料庫名.* from 使用者名稱@IP地址;

如果撤銷使用者擁有的某資料庫的全部許可權,文法為:

revoke all on db1.* from [email protected];

查看使用者權限

查看使用者權限的文法為:

show grants for 使用者名稱@IP地址;

請看如下樣本:

show grants for [email protected];

刪除使用者

刪除使用者權限的文法為:

drop user 使用者名稱@IP地址;

請看如下樣本:

drop user [email protected];

穀哥的小弟學後台(02)——MySQL(2)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.