欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySql新手入門的基本操作匯總

 更新時間:2021年05月13日 10:07:57   作者:@紅茶不加糖  
MySQL是目前來說最好的 RDBMS應(yīng)用軟件之一,這篇文章主要給大家介紹了關(guān)于MySql基本操作的相關(guān)資料,非常適合mysql新手入門,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

庫操作

查詢

1.SHOW DATABASE; ----查詢所有數(shù)據(jù)庫

2.SHOW CREATE DATABASE 數(shù)據(jù)庫名稱; ----查詢某個數(shù)據(jù)庫的創(chuàng)建模式

3.SHOW CREATE DATABASE xxx; ----查詢xxx數(shù)據(jù)庫的創(chuàng)建模式

創(chuàng)建

1.CREATE DATABASE 數(shù)據(jù)庫名稱; ----創(chuàng)建數(shù)據(jù)庫
注:不可以創(chuàng)建一個已經(jīng)存在的數(shù)據(jù)庫

2.CREATE DATABASE IS NOT EXISTS 數(shù)據(jù)庫名稱; ----判斷數(shù)據(jù)庫是否存在,不存在就創(chuàng)建

3.CREATE DATABASE 數(shù)據(jù)庫名稱 CHARACTER SET 字符集名稱; ----創(chuàng)建數(shù)據(jù)庫并指定字符集,一般使用utf-8

修改

ALTER DATABASE 數(shù)據(jù)庫名稱 CHARACTER SET 字符集名稱; ----修改數(shù)據(jù)庫的字符集

刪除

1.DROP DATABASE 數(shù)據(jù)庫名稱; ----刪除數(shù)據(jù)庫

2.DROP DATABASE IS EXISTS 數(shù)據(jù)庫名稱; ----先判斷是否存在再刪除

使用

SELETE DATABASE (); ----查詢當前正在使用的數(shù)據(jù)庫

USE 數(shù)據(jù)庫名稱; ----使用指定數(shù)據(jù)庫

表結(jié)構(gòu)

表的查詢

1.SHOW TABLES; ----查詢數(shù)據(jù)庫中所有的表

2.DESC 表名; ----查看指定表的結(jié)構(gòu)

3.SHOW TABLE STATUS FROM 庫名 LIKE ‘表名'; ----查詢表字符集(like沒有特別情況下和"="號是等價的)

創(chuàng)建表

CREATE TABLE 表名(
列名1 數(shù)據(jù)類型1 約束,
列名2 數(shù)據(jù)類型2 約束,

列名n 數(shù)據(jù)類型n約束
);

int:整數(shù)類型

  • age int

double:小數(shù)類型

  • score double(5,2)
  • price double

date:日期,只包含年月日 yyyy-MM-dd

datetime:日期,包含年月日時分秒 yyyy-MM-dd HH:mm:ss

timestamp:時間戳類型 包含年月日時分秒 yyyy-MM-dd HH:mm:ss

  • 如果將來不給這個字段賦值,或賦值為null,則默認使用當前的系統(tǒng)時間,來自動賦值

varchar:字符串

  • name varchar(20):姓名最大20個字符
  • zhangsan 8個字符 張三 2個字符

CREATE TABLE 要創(chuàng)建的表名 LIKE 被復(fù)制的表名; ----復(fù)制表

修改表

1.ALTER TABLE 表名 RENAME TO 新的表名; ----修改表名

2.ALTER TABLE 表名 CHARACTER SET 字符集名稱; ----修改表的字符集

**3.**ALTER TABLE 表名 ADD 列名 數(shù)據(jù)類型; ----添加新的一列

4.ALTER TABLE 表名 MODIFY 列名 新列名 新數(shù)據(jù)類型; ----修改新列名和數(shù)據(jù)類型

表中刪除操作

1.DROP TABLE 表名; ----刪除表

2.ALTER TABLE 表名 DROP 列名; ----刪除列

表中添加數(shù)據(jù)-INSERT語句

1.INSERT INTO 表名(列名1,列名2,…) VALUES (值1,值2,…); ----向表中添
加數(shù)據(jù)

2.SELECT * FROM product; ----查看表中所有數(shù)據(jù)

3.INSERT INTO 表名 VALUES (值1,值2,值3,…); ----默認給全部列添加數(shù)據(jù)

4.INSERT INTO 表名 VALUES (值1,值2,值3,…),(值1,值2,值3,…),(值1,值2,值3,…); ----批量添加數(shù)據(jù)

注:

  • 列名和值的數(shù)量以及數(shù)據(jù)類型要對應(yīng)
  • 除了數(shù)字類型,其他數(shù)據(jù)類型的數(shù)據(jù)都需要加引號(單引雙引都可以,推薦單引)

表中修改數(shù)據(jù)-updata

UPDATE 表名 SET 列名1 = 值1,列名2 = 值2,… [where 條件];
注:

  • 修改語句中必須加上條件,如果不加條件則修改所有數(shù)據(jù)

表中刪除數(shù)據(jù)-delete

DELETE FROM 表名 [WHERE 條件];

注:

  • 和修改數(shù)據(jù)是一樣的

單表查詢

查詢語法:

select 字段列表 from 表名列表 where 條件列表 group by 分組字段 having 分組之后的條件 order by 排序 limit 分頁限定

SELECT 列名1,列名2,… FROM 表名; ----多個字段查詢

SELECT DISTINCT 列名1,列名2,… FROM 表名; ----去重查詢,但只有所查詢列都重復(fù)才會去重

SELECT 列名1 運算符(+ - * /) 列名2 FROM 表名; ----四則運算

SELECT 列名1,列名2,… AS 別名 FROM 表名; ----as用來起別名,簡單易懂

條件查詢

條件分類

符號 功能
> 大于
< 小于
>= 大于等于
<= 小于等于
= 等于
<> 或 != 不等于
BETWEEN … AND … 在某個范圍之內(nèi)(都包含)
IN(…) 多選一
LIKE 占位符 模糊查詢 _單個任意字符 %多個任意字符
IS NULL 是NULL
IS NOT NULL 不是NULL
AND 或 && 并且
OR 或 || 或者
NOT 或 ! 非,不是

聚合函數(shù)

函數(shù)名稱及其功能

函數(shù)名 功能
count(列名) 統(tǒng)計數(shù)量(一般選用不為null的列)
max(列名) 最大值
min(列名) 最小值
sum(列名) 求和
avg(列名) 平均值

聚合函數(shù)語法

-- 標準語法
SELECT 函數(shù)名(列名) FROM 表名 [WHERE 條件];

-- 計算product表中總記錄條數(shù)
SELECT COUNT(*) FROM product;

-- 獲取最高價格
SELECT MAX(price) FROM product;
-- 獲取最高價格的商品名稱
SELECT NAME,price FROM product WHERE price = (SELECT MAX(price) FROM product);

-- 獲取最低庫存
SELECT MIN(stock) FROM product;
-- 獲取最低庫存的商品名稱
SELECT NAME,stock FROM product WHERE stock = (SELECT MIN(stock) FROM product);

-- 獲取總庫存數(shù)量
SELECT SUM(stock) FROM product;
-- 獲取品牌為蘋果的總庫存數(shù)量
SELECT SUM(stock) FROM product WHERE brand='蘋果';

-- 獲取品牌為小米的平均商品價格
SELECT AVG(price) FROM product WHERE brand='小米';

排序查詢

分類

關(guān)鍵字 功能
ORDER BY 列名1 排序方式1,列名2 排序方式2 對指定列排序,ASC升序(默認的) DESC降序

- 注:多個排序條件,當前邊的條件值一樣時,才會判斷第二條件

排序語法

-- 標準語法
SELECT 列名 FROM 表名 [WHERE 條件] ORDER BY 列名1 排序方式1,列名2 排序方式2;

-- 按照庫存升序排序
SELECT * FROM product ORDER BY stock ASC;

分組查詢

-- 標準語法
SELECT 列名 FROM 表名 [WHERE 條件] GROUP BY 分組列名 [HAVING 分組后條件過濾] [ORDER BY 排序列名 排序方式];

分頁查詢

-- 標準語法
SELECT 列名 FROM 表名 [WHERE 條件] GROUP BY 分組列名 [HAVING 分組后條件過濾] [ORDER BY 排序列名 排序方式] LIMIT 開始索引,查詢條數(shù);
-- 公式:開始索引 = (當前頁碼-1) * 每頁顯示的條數(shù)

約束

1.約束的概念和分類

約束的概念

  • 對表中的數(shù)據(jù)進行限定,保證數(shù)據(jù)的正確性、有效性、完整性!

約束的分類

約束 說明
PRIMARY KEY 主鍵約束
PRIMARY KEY AUTO_INCREMENT 主鍵、自動增長
UNIQUE 唯一約束
NOT NULL 非空約束
FOREIGN KEY 外鍵約束
FOREIGN KEY ON UPDATE CASCADE 外鍵級聯(lián)更新
FOREIGN KEY ON DELETE CASCADE 外鍵級聯(lián)刪除

2.主鍵約束

主鍵約束特點

  • 主鍵約束包含:非空和唯一兩個功能
  • 一張表只能有一個列作為主鍵
  • 主鍵一般用于表中數(shù)據(jù)的唯一標識

建表時添加主鍵約束

-- 標準語法
CREATE TABLE 表名(
	列名 數(shù)據(jù)類型 PRIMARY KEY,
    列名 數(shù)據(jù)類型,
    ...
);

-- 創(chuàng)建student表
CREATE TABLE student(
	id INT PRIMARY KEY  -- 給id添加主鍵約束
);

-- 添加數(shù)據(jù)
INSERT INTO student VALUES (1),(2);
-- 主鍵默認唯一,添加重復(fù)數(shù)據(jù),會報錯
INSERT INTO student VALUES (2);
-- 主鍵默認非空,不能添加null的數(shù)據(jù)
INSERT INTO student VALUES (NULL);

-- 查詢student表
SELECT * FROM student;
-- 查詢student表詳細
DESC student;

刪除主鍵

-- 標準語法
ALTER TABLE 表名 DROP PRIMARY KEY;

-- 刪除主鍵
ALTER TABLE student DROP PRIMARY KEY;

建表后單獨添加主鍵

-- 標準語法
ALTER TABLE 表名 MODIFY 列名 數(shù)據(jù)類型 PRIMARY KEY;

-- 添加主鍵
ALTER TABLE student MODIFY id INT PRIMARY KEY;

3.主鍵自動增長約束

建表時添加主鍵自增約束

-- 標準語法
CREATE TABLE 表名(
	列名 數(shù)據(jù)類型 PRIMARY KEY AUTO_INCREMENT,
    列名 數(shù)據(jù)類型,
    ...
);

-- 創(chuàng)建student2表
CREATE TABLE student2(
	id INT PRIMARY KEY AUTO_INCREMENT    -- 給id添加主鍵自增約束
);

-- 添加數(shù)據(jù)
INSERT INTO student2 VALUES (1),(2);
-- 添加null值,會自動增長
INSERT INTO student2 VALUES (NULL),(NULL);

-- 查詢student2表
SELECT * FROM student2;
-- student2表詳細
DESC student2;

刪除自動增長

-- 標準語法
ALTER TABLE 表名 MODIFY 列名 數(shù)據(jù)類型;

-- 刪除自動增長
ALTER TABLE student2 MODIFY id INT;

建表后單獨添加自動增長

-- 標準語法
ALTER TABLE 表名 MODIFY 列名 數(shù)據(jù)類型 AUTO_INCREMENT;

-- 添加自動增長
ALTER TABLE student2 MODIFY id INT AUTO_INCREMENT;

4.唯一約束

建表時添加唯一約束

-- 標準語法
CREATE TABLE 表名(
	列名 數(shù)據(jù)類型 UNIQUE,
    列名 數(shù)據(jù)類型,
    ...
);

-- 創(chuàng)建student3表
CREATE TABLE student3(
	id INT PRIMARY KEY AUTO_INCREMENT,
	tel VARCHAR(20) UNIQUE    -- 給tel列添加唯一約束
);

-- 添加數(shù)據(jù)
INSERT INTO student3 VALUES (NULL,'18888888888'),(NULL,'18666666666');
-- 添加重復(fù)數(shù)據(jù),會報錯
INSERT INTO student3 VALUES (NULL,'18666666666');

-- 查詢student3數(shù)據(jù)表
SELECT * FROM student3;
-- student3表詳細
DESC student3;

刪除唯一約束

-- 標準語法
ALTER TABLE 表名 DROP INDEX 列名;

-- 刪除唯一約束
ALTER TABLE student3 DROP INDEX tel;

建表后單獨添加唯一約束

-- 標準語法
ALTER TABLE 表名 MODIFY 列名 數(shù)據(jù)類型 UNIQUE;

-- 添加唯一約束
ALTER TABLE student3 MODIFY tel VARCHAR(20) UNIQUE;

5.非空約束

建表時添加非空約束

-- 標準語法
CREATE TABLE 表名(
	列名 數(shù)據(jù)類型 NOT NULL,
    列名 數(shù)據(jù)類型,
    ...
);

-- 創(chuàng)建student4表
CREATE TABLE student4(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(20) NOT NULL    -- 給name添加非空約束
);

-- 添加數(shù)據(jù)
INSERT INTO student4 VALUES (NULL,'張三'),(NULL,'李四');
-- 添加null值,會報錯
INSERT INTO student4 VALUES (NULL,NULL);

刪除非空約束

-- 標準語法
ALTER TABLE 表名 MODIFY 列名 數(shù)據(jù)類型;

-- 刪除非空約束
ALTER TABLE student4 MODIFY NAME VARCHAR(20);

建表后單獨添加非空約束

 -- 標準語法
 ALTER TABLE 表名 MODIFY 列名 數(shù)據(jù)類型 NOT NULL
 
 -- 添加非空約束
 ALTER TABLE student4 MODIFY NAME VARCHAR(20) NOT NULL;

外鍵約束

外鍵約束的格式(一般在創(chuàng)建表的最后寫這些)

CONSTRAINT 外鍵名 FOREIGN KEY (本表外鍵列名) REFERENCES 主表名(主表主鍵列名)

總結(jié)

到此這篇關(guān)于MySql新手入門的基本操作匯總的文章就介紹到這了,更多相關(guān)MySql基本操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL里實現(xiàn)類似SPLIT的分割字符串的函數(shù)

    MySQL里實現(xiàn)類似SPLIT的分割字符串的函數(shù)

    SQL對字符串的處理能力比較弱,比如我要循環(huán)遍歷象1,2,3,4,5這樣的字符串,如果用數(shù)組的話,遍歷很簡單,但是T-SQL不支持數(shù)組,所以處理下來比較麻煩
    2012-09-09
  • mysql中格式化數(shù)字詳解

    mysql中格式化數(shù)字詳解

    格式化在我們?nèi)粘i_發(fā)中必不可少,最近在遇到了關(guān)于mysql格式化數(shù)字的需求,所以下面這篇文章主要給大家介紹了關(guān)于mysql中格式化數(shù)字的相關(guān)資料,分別介紹了format函數(shù)和rpad 和 lpad 給定位數(shù),不足補充自定義字符,需要的朋友可以參考下。
    2017-07-07
  • MySQL?SQL性能分析之慢查詢?nèi)罩?、explain使用詳解

    MySQL?SQL性能分析之慢查詢?nèi)罩?、explain使用詳解

    這篇文章主要介紹了MySQL?SQL性能分析?慢查詢?nèi)罩?、explain使用,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • MySQL 轉(zhuǎn)義字符使用說明

    MySQL 轉(zhuǎn)義字符使用說明

    MySQL 轉(zhuǎn)義字符,大家可以看下,方便以后使用。
    2009-10-10
  • 深入理解mysql事務(wù)與存儲引擎

    深入理解mysql事務(wù)與存儲引擎

    本文主要介紹了mysql事務(wù)與存儲引擎,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 詳解GaussDB for MySQL性能優(yōu)化

    詳解GaussDB for MySQL性能優(yōu)化

    GaussDB(for MySQL)數(shù)據(jù)庫在寫入性能上,在業(yè)界同類產(chǎn)品中是最好的,這主要得益于GaussDB(for MySQL)在MySQL內(nèi)核方面的諸多優(yōu)化。其中有一項從“送快遞”得來靈感的優(yōu)化——事務(wù)異步提交,值得我們分析。
    2021-05-05
  • mysql啟動服務(wù)報1058錯誤的解決方法

    mysql啟動服務(wù)報1058錯誤的解決方法

    這篇文章主要介紹了mysql啟動服務(wù)報1058錯誤的解決方法,需要的朋友可以參考下
    2014-03-03
  • MySQL中l(wèi)imit語法及用法小結(jié)

    MySQL中l(wèi)imit語法及用法小結(jié)

    LIMIT 是 MySQL 中的一個特殊關(guān)鍵字,用于指定查詢結(jié)果從哪條記錄開始顯示,一共顯示多少條記錄,本文重點介紹MySQL中l(wèi)imit語法及用法小結(jié),感興趣的朋友一起看看吧
    2023-10-10
  • mysql外鍵基本功能與用法詳解

    mysql外鍵基本功能與用法詳解

    這篇文章主要介紹了mysql外鍵基本功能與用法,結(jié)合實例形式詳細分析了mysql外鍵的基本概念、功能、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • Mysql中強大的group?by語句解析

    Mysql中強大的group?by語句解析

    這篇文章主要介紹了Mysql中強大的group?by語句解析,GROUP?BY?語句根據(jù)一個或多個列對結(jié)果集進行分組。在分組的列上我們可以使用?COUNT,?SUM,?AVG,等函數(shù),需要的朋友可以參考下
    2023-07-07

最新評論