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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

怎么使用mysql打表_MySQL的表使用

發(fā)布時(shí)間:2025/3/12 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么使用mysql打表_MySQL的表使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

-- 創(chuàng)建表

CREATE TABLE teacher(

id INT,

NAME VARCHAR(20)

)

-- 查看所有表

SHOW TABLES;

DESC student;

DROP TABLE student;

CREATE TABLE student(

id INT,

NAME VARCHAR(20),

gender VARCHAR(2),

age INT

)

-- ********一、增刪改數(shù)據(jù)********* ---

-- 1.1 增加數(shù)據(jù)

-- 插入所有字段。一定依次按順序插入

INSERT INTO student VALUES(1,'張三','男',20);

-- 注意不能少或多字段值

-- INSERT INTO student VALUES(2,'李四','女');

-- 插入部分字段

INSERT INTO student(id,NAME) VALUES(2,'李四');

-- 1.2 修改數(shù)據(jù)

-- 修改所有數(shù)據(jù)(建議少用)

UPDATE student SET gender='女';

-- 帶條件的修改(推薦使用)

UPDATE student SET gender='男' WHERE id=1; -- 修改id為1的學(xué)生,修改性別為男

-- 修改多個(gè)字段,注意: SET 字段名=值,字段名=值,....

UPDATE student SET gender='男',age=30 WHERE id=2;

-- 1.3 刪除數(shù)據(jù)

-- 刪除所有數(shù)據(jù)(建議少用)

DELETE FROM student;

-- 帶條件的刪除(推薦使用)

DELETE FROM student WHERE id=2;

-- 另一種方式

-- delete from: 可以全表刪除 1)可以帶條件刪除 2)只能刪除表的數(shù)據(jù),不能刪除表的約束 3)使用delete from刪除的數(shù)據(jù)可以回滾(事務(wù))

-- truncate table: 可以全表刪除 1)不能帶條件刪除 2)即可以刪除表的數(shù)據(jù),也可以刪除表的約束 3)使用truncate table刪除的數(shù)據(jù)不能回滾

TRUNCATE TABLE student;

CREATE TABLE test(

id INT PRIMARY KEY AUTO_INCREMENT, -- 自增長(zhǎng)約束

NAME VARCHAR(20)

)

DESC test;

-- 1.

DELETE FROM test;

-- 2

TRUNCATE TABLE test;

INSERT INTO test(NAME) VALUES('張三');

INSERT INTO test(NAME) VALUES('張三2');

INSERT INTO test(NAME) VALUES('張三3');

SELECT * FROM test;

-- truncate table student where id=2; 不能帶條件

-- 查詢數(shù)據(jù)

SELECT * FROM student;

-- ********二、查詢數(shù)據(jù)(select)*******--

-- 2.1 查詢所有列

SELECT * FROM student;

-- 2.2 查詢指定列

SELECT id,NAME,gender FROM student;

-- 2.3 查詢時(shí)指定別名(as)

-- 注意: 在多表查詢是經(jīng)常使用表的別名

SELECT id AS '編號(hào)',NAME AS '姓名' FROM student;

-- 2.4 查詢時(shí)添加常量列

-- 需求: 在查詢student表時(shí)添加一個(gè)班級(jí)列,內(nèi)容為“java就業(yè)班”

SELECT id,NAME,gender,age,'java就業(yè)班' AS '年級(jí)' FROM student;

-- 2.5 查詢時(shí)合并列

-- 需求: 查詢每個(gè)學(xué)生的servlet和jsp的總成績(jī)

SELECT id,NAME,(servlet+jsp) AS '總成績(jī)' FROM student;

-- 注意:合并列只能合并數(shù)值類型的字段

SELECT id,(NAME+servlet) FROM student;

-- 2.6 查詢時(shí)去除重復(fù)記錄(DISTINCT)

-- 需求: 查詢學(xué)生的性別 男 女

SELECT DISTINCT gender FROM student;

-- 另一種語(yǔ)法

SELECT DISTINCT(gender) FROM student;

-- 需求: 查詢學(xué)生所在的地區(qū)

SELECT DISTINCT address FROM student;

-- 2.7 條件查詢(where)

-- 2.7.1 邏輯條件: and(與) or(或)

-- 需求: 查詢id為2,且姓名為李四的學(xué)生

SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集

-- 需求: 查詢id為2,或姓名為張三的學(xué)生

SELECT * FROM student WHERE id=2 OR NAME='張三'; -- 并集

-- 2.7.2 比較條件: > < >= <= = <>(不等于) between and (等價(jià)于>= 且 <=)

-- 需求: 查詢servlet成績(jī)大于70分的學(xué)生

SELECT * FROM student WHERE servlet>70;

-- 需求: 查詢jsp成績(jī)大于等于75,且小于等于90分的學(xué)生

SELECT * FROM student WHERE jsp>=75 AND jsp<=90;

-- 另一個(gè)語(yǔ)法

SELECT * FROM student WHERE jsp BETWEEN 75 AND 90; -- (包前包后)

SELECT * FROM student WHERE gender<>'男';

-- 2.7.3 判空條件(null 空字符串): is null / is not null / ='' / <>''

-- 需求: 查詢地址為空的學(xué)生(包括null和空字符串)

-- null vs 空字符串

-- null:表示沒有值

-- 空字符串:有值的!

-- 判斷null

SELECT * FROM student WHERE address IS NULL ;

-- 判斷空字符串

SELECT * FROM student WHERE address='';

SELECT * FROM student WHERE address IS NULL OR address=''; -- (包括null和空字符串)

-- 需求: 查詢有地址的學(xué)生(不包括null和空字符串)

SELECT * FROM student WHERE address IS NOT NULL AND address<>'';

-- 2.7.4 模糊條件: like

-- 通常使用以下替換標(biāo)記:

-- % : 表示任意個(gè)字符

-- _ : 表示一個(gè)字符

-- 需求: 查詢姓‘張’的學(xué)生

SELECT * FROM student WHERE NAME LIKE '李%';

-- 需求: 查詢姓‘李’,且姓名只有兩個(gè)字的學(xué)生

SELECT * FROM student WHERE NAME LIKE '李_';

--- 練習(xí) --

CREATE TABLE student2(

id INT,

NAME VARCHAR(20),

chinese FLOAT,

english FLOAT,

math FLOAT

);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(1,'張小明',89,78,90);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(2,'李進(jìn)',67,53,95);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(3,'王五',87,78,77);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(4,'李一',88,98,92);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(5,'李來財(cái)',82,84,67);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(6,'張進(jìn)寶',55,85,45);

INSERT INTO student2(id,NAME,chinese,english,math) VALUES(7,'黃蓉',75,65,30);

-- 查詢表中所有學(xué)生的信息。

SELECT * FROM student2;

-- 查詢表中所有學(xué)生的姓名和對(duì)應(yīng)的英語(yǔ)成績(jī)。

SELECT NAME,english FROM student2;

-- 過濾表中英語(yǔ)成績(jī)的重復(fù)數(shù)據(jù)

SELECT DISTINCT(english) FROM student2;

-------------------------------------------------------

-- 使用別名表示學(xué)生分?jǐn)?shù)。

SELECT NAME AS '姓名',chinese AS '語(yǔ)文',english AS '英語(yǔ)',math AS '數(shù)學(xué)' FROM student2;

-- 查詢姓名為李一的學(xué)生成績(jī)

SELECT * FROM student2 WHERE NAME='李一';

-- 查詢英語(yǔ)成績(jī)大于等于90分的同學(xué)

SELECT * FROM student2 WHERE english>=90;

-- 查詢總分大于200分的所有同學(xué)

SELECT * FROM student2 WHERE (chinese+english+math)>200;

-- 查詢所有姓李的學(xué)生英語(yǔ)成績(jī)。

SELECT NAME,english FROM student2 WHERE NAME LIKE '李%';

-- 查詢英語(yǔ)>80或者總分>200的同學(xué)

SELECT * FROM student2 WHERE english>80 OR (chinese+english+math)>200

-- 統(tǒng)計(jì)每個(gè)學(xué)生的總分。

SELECT id,NAME,(chinese+english+math) AS '總成績(jī)' FROM student2;

-- 在所有學(xué)生總分?jǐn)?shù)上加20分特長(zhǎng)分。

SELECT id,NAME,(chinese+english+math+20) AS '總成績(jī)' FROM student2;

SELECT * FROM student;

-- 2.8 聚合查詢(使用聚合函數(shù)的查詢)

-- 常用的聚合函數(shù): sum() avg() max() min() count()

-- 需求:查詢學(xué)生的servlet的總成績(jī) (sum() :求和函數(shù))

SELECT SUM(servlet) AS 'servlet的總成績(jī)' FROM student;

-- 需求: 查詢學(xué)生的servlet的平均分

SELECT AVG(servlet) AS 'servlet的平均分' FROM student;--

-- 需求: 查詢當(dāng)前servlet最高分

SELECT MAX(servlet) AS '最高分' FROM student;

-- 需求: 查詢最低分

SELECT MIN(servlet) AS '最低分' FROM student;

-- 需求: 統(tǒng)計(jì)當(dāng)前有多少學(xué)生(count(字段))

SELECT COUNT(*) FROM student;

SELECT COUNT(id) FROM student;

-- 注意:count()函數(shù)統(tǒng)計(jì)的數(shù)量不包含null的數(shù)據(jù)

-- 使用count統(tǒng)計(jì)表的記錄數(shù),要使用不包含null值的字段

SELECT COUNT(age) FROM student;

SELECT * FROM student;

-- 2.9 分頁(yè)查詢(limit 起始行,查詢幾行)

-- 起始行從0開始

-- 分頁(yè):當(dāng)前頁(yè) 每頁(yè)顯示多少條

-- 分頁(yè)查詢當(dāng)前頁(yè)的數(shù)據(jù)的sql: SELECT * FROM student LIMIT (當(dāng)前頁(yè)-1)*每頁(yè)顯示多少條,每頁(yè)顯示多少條;

-- 需求: 查詢第1,2條記錄(第1頁(yè)的數(shù)據(jù))

SELECT * FROM student LIMIT 0,2;

-- 查詢第3,4條記錄(第2頁(yè)的數(shù)據(jù))

SELECT * FROM student LIMIT 2,2;

-- 查詢第5,6條記錄(第3頁(yè)的數(shù)據(jù))

SELECT * FROM student LIMIT 4,2;

-- 查詢第7,8條記錄 (沒有記錄不顯示)

SELECT * FROM student LIMIT 6,2;

-- 2.10 查詢排序(order by )

-- 語(yǔ)法 :order by 字段 asc/desc

-- asc: 順序,正序。數(shù)值:遞增,字母:自然順序(a-z)

-- desc: 倒序,反序。數(shù)值:遞減,字母:自然反序(z-a)

-- 默認(rèn)情況下,按照插入記錄順序排序

SELECT * FROM student;

-- 需求: 按照id順序排序

SELECT * FROM student ORDER BY id ASC;

SELECT * FROM student ORDER BY id; -- 默認(rèn)正序

SELECT * FROM student ORDER BY id DESC;-- 反序

-- 注意:多個(gè)排序條件

-- 需求: 按照servlet正序,按照jsp的倒序

SELECT * FROM student ORDER BY servlet ASC,jsp DESC;

-- 2.11 分組查詢(group by)

-- 需求: 查詢男女的人數(shù)

-- 預(yù)期結(jié)果:

-- 男 3

--- 女 2

-- 1) 把學(xué)生按照性別分組(GROUP BY gender)

-- 2) 統(tǒng)計(jì)每組的人數(shù)(COUNT(*))

SELECT gender,COUNT(*) FROM student GROUP BY gender;

-- 2.12 分組查詢后篩選

-- 需求: 查詢總?cè)藬?shù)大于2的性別

-- 1) 查詢男女的人數(shù)

-- 2)篩選出人數(shù)大于2的記錄(having)

--- 注意: 分組之前條件使用where關(guān)鍵字,分組之后條件使用having關(guān)鍵字

SELECT gender,COUNT(*) FROM student WHERE GROUP BY gender HAVING COUNT(*)>2;

-- 給student表添加servlet和jsp成績(jī)列

ALTER TABLE student ADD servlet INT,ADD jsp INT;

ALTER TABLE student ADD servlet INT;

ALTER TABLE student ADD address VARCHAR(10);

DESC student;

UPDATE student SET servlet=70,jsp=85 WHERE id=1;

UPDATE student SET servlet=65,jsp=90 WHERE id=2;

UPDATE student SET gender='女' WHERE id=2;

UPDATE student SET address='廣州天河' WHERE id=1;

UPDATE student SET address='廣州天河' WHERE id=2;

UPDATE student SET address='廣州番禺' WHERE id=3;

INSERT INTO student VALUES(4,'陳六','男',28,75,80,'');

INSERT INTO student VALUES(5,'李七','男',30,64,83,NULL);

INSERT INTO student VALUES(6,'李八八','男',35,67,82,'廣州天河');

總結(jié)

以上是生活随笔為你收集整理的怎么使用mysql打表_MySQL的表使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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