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

歡迎訪問 生活随笔!

生活随笔

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

数据库

MySQL数据库学习笔记

發(fā)布時間:2025/3/8 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL数据库学习笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

MySQL常用語法總結(jié)

一.創(chuàng)建Web數(shù)據(jù)庫

1.登陸到數(shù)據(jù)庫

mysql -h hostname -u username -p mysql -h hostname -u username -D dbname -p

2.創(chuàng)建數(shù)據(jù)庫

CREATE database dbname

3.使用數(shù)據(jù)庫

USE dbname

4.創(chuàng)建數(shù)據(jù)庫表

CREATE TABLE tablename (columns)

5.列的數(shù)據(jù)

create table customers( customerid int unsigned not null auto_increment primary key, name char(50) not null, address char(100) not null, city char(30) not null ); create table orders ( orderid int unsigned not null auto_increment primary key,customerid int unsigned not null,amount float(6,2),date date not null );

6.使用SHOW和DESCRIBE來查看數(shù)據(jù)庫

6.1 查看數(shù)據(jù)庫

show databases;

6.2 查看某個數(shù)據(jù)庫表

show tables;

6.2 查看某個數(shù)據(jù)庫表的詳細信息(例如customers表)

describe customers; desc customers;

7.創(chuàng)建索引

CREATE [UNIQUE|FULLTEXT] INDEX index_name ON table_name (index_column_name [(length)] [ASC|DESC], ...)

二、使用MySQL數(shù)據(jù)庫

1.在數(shù)據(jù)庫中插入數(shù)據(jù)

INSERT [INTO] table [(column1, column2, column3, ...)] VALUES (value1, value2, value3, ...);

例如在 customers 表中插入數(shù)據(jù):

insert into customers (name, city) values ('lanhaixuan', 'Wuhan');

或者另一種方法:

insert into customers set name = 'wallet', city = 'Wuhan';

再例如在orders表中插入數(shù)據(jù):

insert into orders(customerid, amount, date) values(1, 12.00, '2017-11-1'); insert into orders(customerid, amount, date) values(2, 15.00, '2017-11-1');

注意:后面會使用這些數(shù)據(jù)

2.從數(shù)據(jù)庫中獲取數(shù)據(jù)

SELECT [options] items [INTO file_details] FROM tables [WHERE conditions][GROUP BY group_type][HAVING where_definition][ORDER BY order_type][LIMIT limit_criteria][PROCEDURE proc_name(arguments)][lock_options]; select name, city from customers; select * from customers;

' * '代表通配符,獲得所有的列

2.1 獲取滿足條件的數(shù)據(jù)

select * from customers where city = "Wuhan"; 運算符名稱例子
=等于customerid=3
>大于amount>60.00
<小于amount<60.00
>=大于或等于amount>=60.00
<=小于或等于amount<=60.00
!=或<>不等于amount!=60.00
IS NOT NULLn/a地址不為空
IS NULLn/a地址不為空
BETWEENn/aamount between 1113 and 1122
INn/acity in ("Wuhan", "Beijing")
NOT INn/acity not in ("Wuhan", "Beijing")
LIKE匹配模式name like ("lan%")
NOT LIKE匹配模式name not like ("walle_")
REGEXP正則表達式name regexp '^lanhaixuan$'

LIKE 使用簡單SQL模式匹配, 模式可以由常規(guī)文本加上匹配任意數(shù)量的字符“%”,和只匹配一個字符的“_”組成。
REGEXP關(guān)鍵字適用于正則表達式匹配。

2.2 從多個表中獲取數(shù)據(jù)

select orders.orderid, orders.amount, orders.date from customers, orders where customers.name = 'lanhaixuan' and customers.customerid = orders.customerid;

該SQL查詢使用一個左關(guān)聯(lián)將customers表和orders表關(guān)聯(lián)起來,輸出結(jié)果為:

orderidamountdate

2.2 分組和合計數(shù)據(jù)

例如,可以如下計算一個訂單總金額的平均值:

select avg(amount) from orders;

輸出結(jié)果為:

avg(amount)

類似還有 MIN、MAX、SUN等合計函數(shù)

要獲取customer更詳細的信息,可以使用group by子句。例如,按照顧客數(shù)分組瀏覽。

select customerid, avg(amount) from orders group by customerid;

2.3 選擇要返回的行

使用LIMIT子句,可以用來返回指定的行。它帶有兩個參數(shù):起始行號與返回行數(shù)

select name from customers limit 1, 2;

2.4 使用子查詢

子查詢最常見的用法是用一個查詢的結(jié)果作為另一個查詢比較的條件。例如,如果希望找到一個金額最大的訂單,可以使用如下所示的查詢:

select customerid, amount from orders where amount = (select max(amount) from orders);

返回結(jié)果:

customeridamount

3. 更新數(shù)據(jù)庫記錄

通常,除了從數(shù)據(jù)庫中獲取數(shù)據(jù)外,我們還希望修改這些數(shù)據(jù)。可以使用UPDATE語句來完成這個任務(wù)
UPDATE語句的常用格式是:

UPDATE [LOW_PRIORITY] [IGNORE] tablename SET column1 = experssion1, column2 = expression2, ... [WHERE condition] [ORDER BY order_criteria] [LIMIT number]

如果希望修改一行,例如,要更行一個顧客的地址,可以使用以下所示語句:

update customers set address = 'Beijing' where customerid = 2;

4. 創(chuàng)建后修改表

除了可以更新行,可能還需要改變數(shù)據(jù)庫中表的結(jié)構(gòu)。要實現(xiàn)這個目的,可以使用ALTER TABLE語句。其基本格式為:

ALTER TABLE [IGNORE] tablename alteration [, alteration, ...]

一個常見的情況,特定的列空間沒有“足夠大”,不能容納它必須容納的數(shù)據(jù)。例如,在 customers 表中,已經(jīng)允許名稱可以達到50個字符。在開始接收一些數(shù)據(jù)后,我們可能發(fā)現(xiàn)一些名稱因為太長而被截斷了。我們可以通過改變列的數(shù)據(jù)類型,使其長度為70個字符:

alter table customers modify name char(70) not null;

另外一個經(jīng)常出現(xiàn)的問題需要新增一列。例如要添加訂單表中的稅:

alter table orders add tax float(6, 2) after amount;

刪除一列也是經(jīng)常出現(xiàn)的問題。要刪除一列,只要加上如下語句即可:

alter table orders drop tax;

4. 刪除數(shù)據(jù)庫中的記錄

從數(shù)據(jù)庫刪除行的操作很簡單,可以使用DELETE語句完成,DELETE語句常見格式如下所示:

DELETE [LOW_PRIORITY][QUICK][IGNORE] FROM table [WHERE condition] [ORDER BY order_clos] [LIMIT number]

如果將上述代碼改寫為:

delete from table;

所有表中的行都將被刪除。比如刪除特定的一行:

delete from customers where customerid=1;

LIMIT子句可用于限制實際刪除的最大行數(shù)

4.1 表的刪除

DROP TABLE table;

4.2 數(shù)據(jù)可刪除

DROP DATABASE database; 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的MySQL数据库学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。