九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
MySQL的基礎(chǔ)語法
學(xué)java的小亂 2019-12-18 16:49:37

MySQL

基礎(chǔ)語法

DDL定義

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

CREATR DATABASE 數(shù)據(jù)庫名; --直接創(chuàng)建數(shù)據(jù)庫

CREATE DATABASE IF NOT EXISTS 數(shù)據(jù)庫名; --判斷是否存在并創(chuàng)建

CREATE DATABASE 數(shù)據(jù)庫名 CHARACTER SET `GBK`; --創(chuàng)建指定格式數(shù)據(jù)庫

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

SHOW DATABASES; --查看所有數(shù)據(jù)庫

SHOW CREATE DATABASE 數(shù)據(jù)庫名; --查看某個庫的定義信息

SELECT DATABASE(); -- 查看正在使用的數(shù)據(jù)庫

Use 數(shù)據(jù)庫名; -- 使用/切換數(shù)據(jù)庫

修改和刪除數(shù)據(jù)庫

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

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

創(chuàng)建表

CREATE TABLE 表名(字段名 數(shù)據(jù)類型,字段名 數(shù)據(jù)類型); -- 創(chuàng)建表

CREATE TABLE 表名 LIKE 新表名; -- 快速創(chuàng)建愛你一個表結(jié)構(gòu)相同的表

查看表

SHOW TABLES; --查看數(shù)據(jù)庫中所有表

DESC 表名; -- 查看表結(jié)構(gòu)

SHOW CREATE TABLE 表名; --查看創(chuàng)建表的SQL語句

刪除表

DROP TABLE 表名; -- 直接刪除表

DROP TABLE IF EXISTS 表名; -- 判斷表是否存在并刪除表

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

ALTER TABLE 表名 ADD 字段名 字段類型; --添加列

ALTER TABLE 表名 MODIFY 字段名 新的類型; --修改列類型

ALTER TABLE 表名 CHANGE 老字段名 新字段名 類型; --修改列名

ALTER TABLE 表名 DROP 字段名; --刪除列

RENAME TABLE 舊表名 TO新表名; --修改表名

ALTER TABLE 表名 DEFAULT CHARACTER SET 新字符集; --修改表的字符集

DML插入記錄

INSERT INTO 表名(字段名1,字段名2...) VALUES (字段值1,字段值2); --插入全部字段

省略寫法: INSERT INTO 表名 VALUES (字段值1,字段值2);

沒有添加數(shù)據(jù)的字段可以使用NULL

插入多條數(shù)據(jù):

INSERT INTO 表名(字段名1,字段名2...) VALUES (字段值1,字段值2),(字段值1,字段值2)...;

DML更新表記錄

UPDATE 表名 SET 字段名=新的值; --不帶條件修改數(shù)據(jù)

UPDATE 表名 SET 字段名=新的值 WHERE 條件; --帶條件修改數(shù)據(jù)

DML刪除表記錄

DELETE FROM 表名 WHERE 字段名=值; --帶條件刪除數(shù)據(jù)

DELETE FROM 表名; --不帶條件刪除數(shù)據(jù),刪除所有數(shù)據(jù)

數(shù)據(jù)庫約束

PRIMARY KEY 主鍵約束 UNIQUE 唯一約束

NOT NULL 不為空

DEFAULT 默認(rèn)約束

FOREIGH KEY 外鍵約束

ALTER TABLE 表名 ADD PRIMARY KEY(字段名); --已有表添加主鍵

ALTER TABLE 表名 DROP PRIMARY KEY; --刪除主鍵

主鍵自增

AUTO_INCREMENT 主鍵自增(整數(shù)類型自動增長)

ALTER TABLE 表名 AUTO_INCREMENT=起始值; 修改自增起始值

DELETE和TRUNCATE/ 前者只刪除表中數(shù)據(jù),后者刪除數(shù)據(jù)的同時,重置主鍵自增的值為1

蠕蟲復(fù)制

CREATE TABLE 表2 LIKE 表1; --創(chuàng)建表2結(jié)構(gòu)和表1結(jié)構(gòu)一樣

INSERT INTO 表名2 SELECT * FROM 表名1; --表1的數(shù)據(jù)復(fù)制到表2

DQL查詢語句

語法格式:

SELECT 字段 FROM 表名 WHERE 條件;

比較運(yùn)算符

>`大于

`<`小于

`<=`小于等于

`>=`大于等于

`=`等于

`<>`、`!=`不等于

邏輯運(yùn)算符

AND(&&) 多個條件同時滿足

OR(||) 多個條件其中一個滿足

NOT(!) 不滿足

關(guān)鍵字in:

in() in里面每個數(shù)據(jù)都會作為一次條件,只要滿足的就會顯示

模糊查詢like

LIKE 像 像什么什么一樣

SELECT * FROM 表名 WHERE 字段名 LIKE ‘通配符字符串’;--滿足通配符字符串的數(shù)據(jù)就會顯示

MySQL通配符有兩個:

%:表示任意多個字符

_:表示一個字符

DQL查詢語句-排序

關(guān)鍵字:

ORDER BY 字段名 [ASC|DESC]

ASC:升序 DESC:降序

單列排序:

使用字段數(shù)據(jù)排序

SELECT * FROM 表名 ORDER BY 字段名 DESC;

組合排序:

當(dāng)字段1數(shù)據(jù)有相同時,再用字段2數(shù)據(jù)進(jìn)行排序

SELECT * FROM 表名 WHERE 條件 ORDER BY 字段名1 ASC, 字段名2 ASC;

DQL查詢語句-聚合函數(shù)

COUNT: 統(tǒng)計記錄數(shù),記錄為NULL的不統(tǒng)計

SUM: 計算指定列數(shù)值的和,如果不是數(shù)值類型,那么結(jié)果為0

MAX: 計算指定列最大值

MIN: 計算指定列最小值

AVG: 計算指定列平均值

聚合函數(shù)的使用: 寫在SQL語句SELECT后

SELECT 聚合函數(shù)(字段名) FROM 表名;

DQL查詢語句-分組

分組一般和聚合函數(shù)一起使用,單獨(dú)分組沒卵用

關(guān)鍵字: GROUP BY 將字段中相同值作為一組,返回第一條數(shù)據(jù)

SELECT * FROM 表名 GROUP BY 字段名;

SELECT * FROM 表名 WHERE 條件 GROUP BY 字段名;

DQL查詢語句-limit語句

LIMIT語句格式:

SELECT * FROM 表名 WHERE 條件 LIMIT offset, length;

offset 指偏移量,可以認(rèn)為是跳過的記錄數(shù)量,不寫則默認(rèn)為0

length 指需要顯示的總記錄數(shù)

使用:

SELECT * FROM 表名 LIMIT offset,length;

外鍵約束

新建表時增加外鍵:

CREATE TABLE 表名(

字段名 字段類型,

字段名 字段類型,

-- 外鍵約束

[CONSTRAINT 外鍵約束名] FOREIGN KEY(外鍵字段名) REFERENCES 主表名(主鍵)

);

已有表時增加外鍵:

ALTER TABLE 從表 ADD [CONSTRAINT 外鍵約束名] FOREIGN KEY(外鍵字段名)

REFERENCES 主表(主鍵字段名);

刪除外鍵:

ALTER TABLE 表名 DROP FOREIGN KEY 外鍵約束名;

外鍵級聯(lián)操作

級聯(lián)更新: ON UPDATE CASCADE主表更新時,從表跟著更新

級聯(lián)刪除: ON DELETE CASCADE 主表刪除時,從表跟著刪除

內(nèi)連接

隱式內(nèi)連接:看不到JOIN關(guān)鍵字,條件使用WHERE指定

SELECT 字段 FROM 表1,表2 WHERE 條件;

顯式內(nèi)連接:使用INNER JOIN ... ON語句,可以省略INNER

SELECT 字段 FROM 左表 INNER JOIN 右表 ON 表連接條件 WHERE 查詢條件;

左外連接

SELECT 字段 FROM 左表 LEFT OUTER JOIN 右表 ON 表連接條件 WHERE 查詢條件;

子查詢

單行單列: 在WHELE 后面作為條件

SELECT 查詢字段FROM 表 WHERE 字段=(子查詢);

多行單列: 在WHERE 后面作為條件

SELECT 查詢字段 FROM 表 WHERE 字段 IN (子查詢);

多行多列: 在FROM后面作為表

SELECT 查詢字段FROM (子查詢) 表別名 WHERE 條件;

子查詢作為表需要取別名,否則這張表沒有名稱無法訪問表中的字段

事務(wù)

四大特性: 1.原子性 2.一致性 3.隔離性 4.持久性

START TRANSACTION; 開啟事務(wù)

COMMIT; 提交事務(wù)

ROLLBACK; 回滾事務(wù)

每條SQL語句都是一個單獨(dú)的事務(wù),自開自提,通過設(shè)置可以關(guān)閉自動提交事務(wù)。

關(guān)閉自動提交事務(wù): SET AUTOCOMMIT= 0; 0:OFF(關(guān)) 1:ON(開)

回滾點(diǎn)

設(shè)置回滾點(diǎn):

SAVEPONIT 回滾點(diǎn)名字;

回到回滾點(diǎn):

ROLLBACK TO 回滾點(diǎn);

JDBC訪問數(shù)據(jù)庫步驟

1. Class.forName(“com.mysql.jdbc.driver”); --注冊驅(qū)動

2. DriverManager.getConnection(“URL”, ”User”, “PassWord”); --連接數(shù)據(jù)庫

3. 調(diào)用 .createStatement() 獲取Statement對象執(zhí)行SQL語句

Statement對象的API介紹:

Boolean execute(String sql) --執(zhí)行任何SQL語句,如果是查詢語句返回true,不是返回false

Int executeUpdate(String sql) --用于執(zhí)行增刪改語句;返回影響的行數(shù)

ResultSet executeQuery(String sql) --執(zhí)行查詢語句;返回查詢到的結(jié)果集

JDBC實(shí)現(xiàn)對單表數(shù)據(jù)查詢

關(guān)鍵字ResultSet

調(diào)用next方法,ResultSet內(nèi)部指針回移動到下一行數(shù)據(jù),有數(shù)據(jù)則返回true,無則false

調(diào)用getXXX(),方法獲取數(shù)據(jù):

參數(shù)是字符串則根據(jù)字段名獲取值; 參數(shù)是整數(shù)則通過字段序號獲取值

JDBC事務(wù)

Connection接口與事務(wù)有關(guān)的方法:

SQLException(false/ture); false:開啟事務(wù) ture :關(guān)閉事務(wù)

commit(); 提交事務(wù)

rollback(); 回滾事務(wù)

PreparedSatement使用步驟

編寫SQL語句,位置內(nèi)容使用?占位:

SELECT * FROM user WHERE name=? AND password=?; 參數(shù)化的SQL

設(shè)置參數(shù):

setXXX(第幾個?, ?的具體值);

用executeQuery() 、executeUpdate() 執(zhí)行SQL語句

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MySQL之SQL入門(一)
SQL語句筆記
ORACLE SQL*PLUS
超詳細(xì)的SQL語句語法(一)——常用的SQL語句語法
SQL語句復(fù)習(xí)
詳細(xì)介紹ORACLE sqlplus命令 - jack198409的個人空間 - ITPU...
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服