电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

MySQL 詳細單表增刪改查crud語句

瀏覽:2日期:2023-10-13 15:20:11

MySQL 增刪改查語句

1.創建練習表

這里練習表沒有滿足三范式

第一范式(又稱 1NF):保證每列的原子性數據表中的每一列(字段),必須是不可拆分的最小單元,也就是確保每一列的原子性。滿足第一范式是關系模式規范化的最低要求,否則,將有很多基本操作在這樣的關系模式中實現不了。第二范式(又稱 2NF):保證一張表只描述一件事情滿足1NF后要求表中的所有列,每一行的數據只能與其中一列相關,即一行數據只做一件事。只要數據列中出現數據重復,就要把表拆分開來。第三范式(又稱 3NF):保證每列都和主鍵直接相關滿足2NF后,要求:表中的每一列都要與主鍵直接相關,而不是間接相關(表中的每一列只能依賴于主鍵)。數據不能存在傳遞關系,即沒個屬性都跟主鍵有直接關系而不是間接關系。像:a?>b?>c 屬性之間含有這樣的關系,是不符合第三范式的。

五大約束

數據庫中的五大約束包括:

1.主鍵約束(Primay Key Coustraint) 唯一性,非空性;

2.唯一約束 (Unique Counstraint)唯一性,可以空,但只能有一個;

3.默認約束 (Default Counstraint) 該數據的默認值;

4.外鍵約束 (Foreign Key Counstraint) 需要建立兩表間的關系;

5.非空約束(Not Null Counstraint):設置非空約束,該字段不能為空。

五大約束的語法示例:

添加主鍵約束Alter table 表名 add Constraint 主鍵名 primary key(字段)

添加唯一約束Alter table 表名 add Constraint 約束名 unique(字段)

添加默認約束Alter table 表名 add Constraint 約束名 default(默認內容) for 字段名

添加檢查約束Alter table 表名 add Constraint 約束名 check (字段表達)

添加外鍵約束Alter table 表名 add Constraint 約束名 foreign key(字段) references 表名(字段名)

1.1用戶表(user)

CREATE TABLE `user`(`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT ’用戶id(主鍵)’,`username` VARCHAR(50) COMMENT ’用戶姓名’, `age` CHAR(3) COMMENT ’用戶年齡’);

插入數據

INSERT INTO USER VALUES(2,’小二’,12);INSERT INTO USER VALUES(3,’張三’,33);INSERT INTO USER VALUES(4,’李四’,24);INSERT INTO USER VALUES(5,’王五’,17);INSERT INTO USER VALUES(6,’趙六’,36);INSERT INTO USER VALUES(7,’七七’,18);

完成后表名 user表數據:

MySQL 詳細單表增刪改查crud語句

1.2學生表

CREATE TABLE `students`(`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT ’學生id(主鍵)’,`name` VARCHAR(10) COMMENT ’學生姓名’, `grade` VARCHAR(10) COMMENT ’學生年級’,`chinese` INT COMMENT ’語文成績’,`math` INT COMMENT ’數學成績’,`english` INT COMMENT ’英語成績’);

插入數據

INSERT INTO students VALUES(1,’迪麗熱巴’,’二年級’,100,100,100);INSERT INTO students VALUES(2,’古力娜扎’,’一年級’,99,88,98);INSERT INTO students VALUES(3,’馬爾扎哈’,’三年級’,46,20,99);INSERT INTO students VALUES(4,’阿里巴巴’,’一年級’,78,81,100);INSERT INTO students VALUES(5,’哈哈哈哈’,’六年級’,20,10,5);INSERT INTO students VALUES(6,’作者本人’,’二年級’,100,100,100);INSERT INTO students VALUES(7,’嘻嘻哈哈’,’五年級’,70,99,60);INSERT INTO students VALUES(8,’哭哭啼啼’,’四年級’,33,15,54);

列名或者表名和 MySQL 關鍵字沖突可以使用 ` 符號,鍵盤esc 下面,1 左邊,Tab 上面;注意 ==> 如果成績類型是 varcher ,那使用排序將會顯示不正確。

完成后表名 students表數據:

MySQL 詳細單表增刪改查crud語句

2.查詢

2.1查詢全部(這里使用user用戶表)

Select * from 表名;

SELECT * FROM USER;

2.2查詢已經成年的用戶(使用where條件查詢)

條件中比較運算符:( 等于: = 大于: > 大于等于: >= 小于: < 小于等于: <= 不等于: != 或 <> ) Select * from 表名 where 條件;

SELECT * FROM USER WHERE age >= 18;

MySQL 詳細單表增刪改查crud語句

2.3查詢未成年用戶的名字

SELECT 字段名 FROM 表名 WHERE 條件;

SELECT username FROM USER WHERE age < 18;

MySQL 詳細單表增刪改查crud語句

2.4使用別名查詢

使用as關鍵字(as可以省略)

SELECT u.* FROM USER AS u;

MySQL 詳細單表增刪改查crud語句

2.5使用邏輯運算符查詢

邏輯運算符( 并且:and 或 && 或:or 非:not 或 ! )

查詢名字為小二又年齡是12歲的(顯示名字和年齡)

SELECT u.`username`,u.`age` FROM USER u WHERE u.`username`=’小二’ && u.`age`=12;

MySQL 詳細單表增刪改查crud語句

查詢名字為張三又是未成年的(查詢結果空,沒有這個人)

SELECT * FROM USER WHERE username=’張三’ && age < 18;

MySQL 詳細單表增刪改查crud語句

2.6使用運算符查詢(這里開始使用students學生表)

MySQL 詳細單表增刪改查crud語句

查詢 哈哈哈哈 的三科總分運算符優先級:1.乘法和除法的優先級高于加法和減法2.同級運算的順序是從左到右3.表達式中使用'括號'可強行改變優先級的運算順序select 列1[ ±*/ ]列2 from 表名 where 條件;

SELECT s.chinese + s.math + s.english FROM students s WHERE s.name = ’哈哈哈哈’;

MySQL 詳細單表增刪改查crud語句

2.7范圍查詢(between 條件1 and 條件2)

(良 60-70,中70-80,優80-90,優秀90-100)

查詢語文成績是 良到中 的同學名字一where 字段(列名) between 條件1 and 條件2;

SELECT NAME FROM students WHERE chinese BETWEEN 60 AND 80;

MySQL 詳細單表增刪改查crud語句

查詢數學成績不合格的同學名字

where 字段(列名)not between 條件1 and 條件2;

SELECT NAME FROM students WHERE math NOT BETWEEN 60 AND 100;

MySQL 詳細單表增刪改查crud語句

查詢英語成績優秀的同學id和名字;

where !( 字段名 between 條件1 and 條件2);

SELECT s.`id`,s.`name` FROM students s WHERE !(s.`english` BETWEEN 0 AND 90);

MySQL 詳細單表增刪改查crud語句

2.8集合查詢查詢一年級和二年級的學生信息

where 列名 in (值1,值2,值3);

SELECT * FROM students WHERE grade IN (’一年級’,’二年級’);

MySQL 詳細單表增刪改查crud語句

*查詢一年級,二年級,三年級以外的學生信息where 列名 not in (值1,值2,值3);

SELECT * FROM students WHERE grade NOT IN (’一年級’,’二年級’,’三年級’);

MySQL 詳細單表增刪改查crud語句

2.9 NULL值查詢

注意:列中值為null不能使用=去查詢

查詢名字為 null 的學生數據(沒有存儲有,所以啥也沒有)where 列名 is null;

SELECT * FROM students WHERE `name` IS NULL;

MySQL 詳細單表增刪改查crud語句

2.10模糊查詢( like )% 表示0個到n個字符

where 列名 like ’%巴’; -- 表示以 巴 結尾的;where 列名 like ’巴%’; -- 表示以 巴 開頭的;where 列名 like ’%巴巴%’ -- 表示數據里面包含 巴巴 的;

查詢名字以 巴 結尾的學生;

SELECT * FROM students WHERE `name` LIKE ’%巴’;

MySQL 詳細單表增刪改查crud語句

查詢名字以 作者 開頭的學生;

SELECT * FROM students WHERE `name` LIKE ’作者%’;

MySQL 詳細單表增刪改查crud語句

查詢名字里面包含 嘻哈 的學生;

SELECT * FROM students WHERE `name` LIKE ’%嘻哈%’;

MySQL 詳細單表增刪改查crud語句

_ 表示一個字符,可以多次使用

查詢名字里面倒數第二個字有 哈 的學生where 列名 like ‘哈_’;

SELECT * FROM students WHERE `name` LIKE ’%哈_’;

MySQL 詳細單表增刪改查crud語句

2.11結果排序

對結果經行排序(對查詢出的結果按照一列或多列進行升序或者倒序排序,升序式ASC,倒序式 DESC,默認升序)。

注意不能使用中文或者中問別名排序。where 條件 order by 列名 [ ASC / DESC ];

查詢一年級,二年級,三年級學生數據,以 語文成績排序,降序。

SELECT * FROM students WHERE grade IN (’一年級’,’二年級’,’三年級’) ORDER BY chinese DESC;

MySQL 詳細單表增刪改查crud語句

2.12分頁查詢

分頁查詢( beginIndex 表示從第幾條數據開始(也可以說是跳過前面多少頁),第一頁從0開始。pageSize 表示每頁顯示多少條數據);select * from 表名 where 條件 limit beginIndex , pageSize;

分頁算法公式 (當前頁 - 1)* pageSize;

比如說每頁 10頁 分頁。第一頁 limit 0,10;// 顯示 0-10;跳過前面0條數據第二頁 limit 10,10;// 顯示 11-20;跳過前面10條數據第三頁 limit 20,10;// 顯示 21-30;跳過前面20條數據

注意當我們使用 select * from students;(最后底層執行語句分頁了 limit 0,1000 )MySQL 詳細單表增刪改查crud語句

查詢全部學生,每頁三條數據第一頁

SELECT * FROM students LIMIT 0,3;

MySQL 詳細單表增刪改查crud語句第二頁

SELECT * FROM students LIMIT 3,3;

MySQL 詳細單表增刪改查crud語句

第三頁

SELECT * FROM students LIMIT 6,3;

MySQL 詳細單表增刪改查crud語句

2.13聚合函數

作用于一組數據,對那組返回一個值

count :統計結果記錄多少條數, max:統計最大值 min:統計最小值sum:計算求和 avg: 計算平均值

注意,分組函數 group by。如果要對 分組后 的數據進行篩選,那么必須使用 having 關鍵字,條件寫在 having 后面;

where:先過濾已有的數據,在分組,在聚合函數計算; having:過濾分組之后的數據。

插入我們需要練習的表city 表

CREATE TABLE `city` (`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT ’主鍵’,`city_name` VARCHAR(100) COMMENT ’城市名’,`city_year` VARCHAR(4) COMMENT ’年份,yyyy’,`city_gdp` DOUBLE COMMENT ’當前年份,城市一整年的GDP,單位億元’,`city_population` DOUBLE COMMENT ’當前年豐,城市的總人口,單位萬人’);

添加數據

INSERT INTO city VALUES(1,’上?!?2018,32679,2418);INSERT INTO city VALUES(2,’北京’,2018,30320,2171);INSERT INTO city VALUES(3,’深圳’,2018,24691,1253);INSERT INTO city VALUES(4,’廣州’,2018,23000,1450);INSERT INTO city VALUES(5,’重慶’,2018,20363,3372);INSERT INTO city VALUES(6,’上?!?2019,38155,2424);INSERT INTO city VALUES(7,’北京’,2019,35371,2171);INSERT INTO city VALUES(8,’深圳’,2019,26927,1302);INSERT INTO city VALUES(9,’廣州’,2019,23628,1491);INSERT INTO city VALUES(10,’重慶’,2019,23605,3372);

COUNT查詢計算2019年一共有多少個城市錄入數據(答案 5個)

SELECT COUNT(*) FROM city WHERE city_year = ’2019’;

MySQL 詳細單表增刪改查crud語句

MAX查詢 2018年里 GDP 最高是多少;

SELECT MAX(city_gdp) FROM city WHERE city_year = ’2018’;

MySQL 詳細單表增刪改查crud語句

MIN查詢 2018年里 GDP 最低是多少;

SELECT MIN(city_gdp) FROM city WHERE city_year = ’2018’;

MySQL 詳細單表增刪改查crud語句

SUM查詢2019年里所有城市 GDP 總和;

SELECT SUM(city_gdp) FROM city WHERE city_year = ’2019’;

MySQL 詳細單表增刪改查crud語句

AVG查詢2019年所有城市 GDP 平均值;

SELECT AVG(city_gdp) FROM city WHERE city_year = ’2019’;

MySQL 詳細單表增刪改查crud語句

3.增加

insert into 表名(字段1,字段2,字段3,…)values(值1,值2,值3,…);

添加學生雞雞雞雞

INSERT INTO students(id,NAME,grade,chinese,math,english) VALUES( 9,’雞雞雞雞’,’七年級’,77,77,77);

MySQL 詳細單表增刪改查crud語句

其它插入方式

INSERT INTO 表名(字段1,字段2,字段3) VALUES (值1,值2,值3),(值1,值2,值3); -- 插入多條數據INSERT INTO 表名 VALUES(值1,值2); -- 針對表全字段進行插入操作INSERT INTO 表名(字段) SELECT 字段 FROM 表2; -- 查詢結果插入INSERT INTO 表名 SELECT 字段 FROM 表2; -- 查詢結果,全表插入

4.更新

update 表名 set 字段=值 where 條件; -- 帶條件的去修改指定數據,否則修改全表;

修改學生 ‘哈哈哈哈’ 的英語成績為 10;

UPDATE students SET english = 10 WHERE `name` = ’哈哈哈哈’;

MySQL 詳細單表增刪改查crud語句

5.刪除

delete from 表名 where 條件; -- 刪除數據帶條件刪除,否則刪除全表的數據

刪除學生 ‘雞雞雞雞’ ;

DELETE FROM students WHERE `name` = ’雞雞雞雞’;

MySQL 詳細單表增刪改查crud語句

MySQL 詳細單表增刪改查crud語句

6.語句執行順序

from -> on -> join -> where -> group by -> having -> select -> distinct -> order by -> limit

MySQL其它文章,請看下面鏈接

MySQL DDL 語句

MySQL CRUD 語句

MySQL 聚合函數

MySQL 多表查詢

END…

到此這篇關于MySQL 詳細單表增刪改查crud語句的文章就介紹到這了,更多相關MySQL 增刪改查語句內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: ★店家乐|服装销售管理软件|服装店收银系统|内衣店鞋店进销存软件|连锁店管理软件|收银软件手机版|会员管理系统-手机版,云版,App | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 合肥防火门窗/隔断_合肥防火卷帘门厂家_安徽耐火窗_良万消防设备有限公司 | 领袖户外_深度旅游、摄影旅游、小团慢旅行、驴友网 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 杭州货架订做_组合货架公司_货位式货架_贯通式_重型仓储_工厂货架_货架销售厂家_杭州永诚货架有限公司 | 浇注料-高铝砖耐火砖-郑州凯瑞得窑炉耐火材料有限公司 | 辊道窑炉,辊道窑炉厂家-山东艾希尔 | 隆众资讯-首页_大宗商品资讯_价格走势_市场行情 | 棕刚玉-白刚玉厂家价格_巩义市东翔净水材料厂 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 北京康百特科技有限公司-分子蒸馏-短程分子蒸馏设备-实验室分子蒸馏设备 | 电线电缆厂家|沈阳电缆厂|电线厂|沈阳英联塑力线缆有限公司 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | 紧急切断阀_气动切断阀_不锈钢阀门_截止阀_球阀_蝶阀_闸阀-上海上兆阀门制造有限公司 | 北京软件开发_软件开发公司_北京软件公司-北京宜天信达软件开发公司 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | 深圳标识制作公司-标识标牌厂家-深圳广告标识制作-玟璟广告-深圳市玟璟广告有限公司 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 电子海图系统-电梯检验系统-智慧供热系统开发-商品房预售资金监管系统 | 奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 劳动法网-专业的劳动法和劳动争议仲裁服务网 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 常州减速机_减速机厂家_常州市减速机厂有限公司 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 |