MySQL數據庫day7.11

一,SQL概述

1.1?SQL語句語法

MySQL 數據庫的 SQL 語句不區分大小寫,關鍵字建議使用大寫,
以分號結尾。例如:
SELECT * FROM user;
使用 /**/ -- # 的方式完成注釋
/*
多行注釋
*/
-- 單行注釋
# 單行注釋
SELECT * FROM user;

1.2?SQL中數據的常用數據類型

固定長度 char(n) 例如 : char(20), 最大能存放 20 個字符 . ‘aaa’,
還是占 20 個字符的空間
可變長度 varchar(n) 例如 :varchar(20), 最大能存放 20 個字符 .
‘aaa’, 3 個字符的空間
一般使用 varchar(n) 節省空間 ; 如果長度 ( 身份證 ) 是固定的話 可
以使用 char(n) 性能高一點

二·,DDL操作數據庫

2.1 創建數據庫

? 語法
create database 數據庫名 [character set 字符集][collate校對規則] ? ?注: []意思是可選的意思
? 創建一個 day0708_1 的數據庫(默認字符集 )
create database day0708_1;
???創建一個day0708_2 的數據庫 , 指定字符集為 gbk( 了解 )
create database day0708_2 character set gbk;

2.2 查看所有的數據庫

? 語法:查看所有的數據庫
show databases;
? 語法:查看數據庫的定義結構【了解】
show create database 數據庫名;
-- 查看數據庫
-- 語法: show databases; 查詢所有的數據庫
show databases
-- 語法: show create database 數據庫名; 查看數據庫的定義
結構【了解】
show create database day0708_1
show create database day0708_2

2.3 刪除數據庫

? 語法
drop database 數據庫名;
-- 需求: 刪除day0708_2數據庫
drop database day0708_2;

2.4 修改數據庫【了解】

? 語法
alter database 數據庫名 character set 字符集;
-- 需求: 把day0708_2數據庫的字符集修改為utf8
alter database day0708_2 character set utf8

? 2.5 其他操作

? 切換數據庫: 在創建表之前一定要指定數據庫。 use 數據庫名
use 數據庫名;
-- 語法: use 數據庫名; 選中數據庫
use day0708_1;
-- 語法: select database(); 查看當前選中(正在使用)的數據庫
select database();

三,DDL操作表

?3.1 創建表

創建表, 格式:create table 表名 (字段名 數據類型[長度] [約束],字段名 數據類型[長度] [約束],...); 注:[]中的內容是可選項

? 3.2 SQL約束

約束:即規則 , 規矩 限制 ;
作用:數據庫中的約束 , 就是指 表中的數據內容 不能胡亂填寫 , 必須
按照要求填寫 . 好保證數據的完整性與安全性。
not null: 非空約束 ;
例如 : username varchar(40) not null username 這個列不
能有 null
unique: 唯一約束 , 后面的數據不能和前面重復 ;
例如 : cardNo char(18) unique; cardNo 列里面不可以有重
復數據
primary key ;主鍵約束 ( 非空 + 唯一 );
一般用在表的 id 列上面 . 一張表基本上都有 id 列的 , id 列作為
唯一標識的
auto_increment: 自動增長 , 必須是設置了 primary key 之后 ,
才可以使用 auto_increment
id int primary key auto_increment; id 不需要我們自己維
護了 , 插入數據的時候直接插入 null , 自動的增長進行填充進
, 避免重復了
需求:創建一張學生表 ( 含有 id 字段 , 姓名字段 , 性別字段 . id 為主鍵自
動增長 )
-- 需求: 創建一張學生表(含有id字段,姓名字段,性別字段. id為主
鍵自動增長)
-- 創建表之前需要選中數據庫
use day0708_1;
create table student(id int primary key auto_increment,name varchar(40),gender varchar(13) not null
);

3.3 查看所有的表

? 語法
show tables;

四,DML操作表記錄-增刪改

4.1 插入記錄

-- 創建一張商品表(商品id,商品名稱,商品價格,商品數量)
create table product(id int primary key auto_increment,pname varchar(100),price double,num int
);
方式一 : 插入指定列 , 如果沒有把這個列進行列出來 , null 進行
自動賦值。
insert into 表(列,列..) values(值,值..);
insert into product(pname,price)
values('Mac',18888);
insert into product(pname,price,num)
values('Mac',18888,null);
方式二:插入所有的列
insert into 表 values(值,值....);
insert into product values(null,'小米電腦',5888,10);
insert into product values(null,'華碩電腦',5888,null);
insert into product values(null,'蘋果電
腦',18000.0,10);
insert into product values(null,'華為5G手 機',30000,20);
insert into product values(null,'小米手機',1800,30);
insert into product values(null,'iPhonex',8000,10);
insert into product values(null,'蘋果電腦',8000,100);
insert into product values(null,'iPhone7',6000,200);
insert into product 
values(null,'iPhone6s',4000,1000);
insert into product values(null,'iPhone6',3500,100);
insert into product 
values(null,'iPhone5s',3000,100);
insert into product values(null,'方便面',4.5,1000);
除了整數 \ 小數類型外 , 其他字段類型的值必須使用引號引起來
( 建議單引號 )
如果要插入空值 , 可以不寫字段 , 或者插入 null

4.2 更新記錄

語法
update 表名 set 列 =值, 列 =值 [where 條件]
-- 更新記錄
-- 語法: update 表名 set 列 =值, 列 =值 [where 條件]
-- 需求:修改商品所有的價格為5000
update product set price = 5000;
-- 需求: 修改id為2的商品數量和價格
update product set price = 8000,num = 20 where id = 2;
-- 將商品名是Mac的價格修改為18000元
update product set price = 18000 where pname = 'Mac'
-- 將商品名是Mac的價格修改為17000,數量修改為5
update product set price = 17000,num = 5 where pname
= 'Mac'
-- 將商品名是方便面的商品的價格在原有基礎上增加2元
update product set price = price + 2 where pname = '方便面'

4.3 刪除記錄

delete 語法:
delete from 表 [where 條件] ?
truncate 語法:
truncate table 表;
-- 刪除記錄
-- 語法一: delete from 表名 [where 條件] ?
-- 刪除表中名稱為’Mac’的記錄
delete from product where pname = 'Mac'
-- 刪除價格小于5001的商品記錄
delete from product where price < 5001
-- 刪除表中的所有記錄
delete from product
-- 語法二: truncate table 表名;
truncate table product
delete truncate 區別【面試題】
DELETE 刪除表中的數據,表結構還在 ; 刪除后的數據可以找
, 一條一條的刪除 .
TRUNCATE 刪除是把表直接 DROP 掉,然后再創建一個同樣
的新表。刪除的數據不能找回。執行速度比 DELETE 快。
工作里面的刪除
物理刪除 : 真正的刪除了 , 數據不在 , 使用 delete 就屬于物理刪
邏輯刪除 : 沒有真正的刪除 , 數據還在 . 搞一個標記 , 其實邏輯
刪除是更新 例如 : state 1 啟用 0 禁用

五,基本查詢語法

select [*] [列名 ,列名] [列名 as 別名 ...] [distinct 字段] from 表名 [where 條件]

六.簡單查詢

查詢所有的列的記錄
查詢某張表特定列的記錄
去重查詢 :去重針對某列 , distinct 前面不能先出現列
別名查詢
運算查詢 (+,-,*,/ ) :運算查詢 列名與列名之間是可以 運算的
-- 查詢所有的列語法:select * from 表名 
-- 需求:查詢product表中的所有數據 select * from product; -- 查詢某張表特定列:select 列名,列名,... from 表 名
-- 需求:查詢product表中的pname,price字段的值 select pname,price from product; -- 去重查詢:select distinct 列名 from 表名 
-- 需求:查詢price字段,[去重]單個字段去重 select distinct price from product;-- 需求:查詢pname,price字段,[同時去重]多個字段去重select distinct pname,price from product;-- 注意:distinct前面不能有字段名 select id,distinct price from product;-- 報 錯-- 別名查詢
-- 對字段取別名:select 字段 as 別名,字段 as 別 名,... from 表名。注意: as可以省略,一般都會省略 select pname as 商品名稱,num as 商品數量 from product;select pname 商品名稱,num 商品數量 from product;-- 對表取別名:select 表1別名.字段名,... from 表1 as 表1別名。注意: as可以省略 一般都會省略select p.pname,p.price from product as p; select p.pname,p.price from product p;-- 運算查詢(+,-,*,/等),null和其他數據進行運算得到 是null 
-- 需求:計算每個商品的總價(單價*數量) select price,num from product; select price*num from product; select price * num 總價 from product; select price * ifnull(num,0) 總價 from product;

七.條件查詢

語法:
select ... from 表 where 條件; //取出表中的每條數據,滿足條件的記錄就返回,不滿足條 件的記錄不返回

between...and... 區間查詢
where price between 1000 and 3000 相當于 1000<=price<=3000
in( 值,值 ..)
-- 查詢id為1,3,5,7的select * from t_product where id = 1select * from t_product where id = 3select * from t_product where id = 5select * from t_product where id = 7select * from t_product where id in(1,3,5,7)
like 模糊查詢 。一般和 _ 或者 % 一起使用
_ 占一位
% 0 或者 n
name like '張%' --查詢姓張的用戶, 名字的字數沒有 限制name like '張_' --查詢姓張的用戶 并且名字是兩個 字的
and 多條件同時滿足
where 條件1 and 條件2 and 條件3
or 任意條件滿足
where 條件1 or 條件2 or 條件3
需求:
查詢商品價格 >3000 的商品
查詢 id=1 的商品
查詢 id<>1 的商品
查詢價格在 3000 6000 之間的商品
查詢 id 1 5 7 15 范圍內的商品
查詢商品名以 iPho 開頭的商品 (iPhone 系列 ) 查詢商品價格大于 3000 并且數量大于 20 的商品 ( 條件
and 條件 and...)
查詢 id=1 或者價格小于 3000 的商品
-- 查詢商品價格>3000的商品select * from product where price > 3000;-- 查詢id=1的商品select * from product where pid = 1;-- 查詢id<>1的商品select * from product where pid <> 1;select * from product where pid != 1;-- 查詢價格在3000到6000之間的商品select * from product where price between 3000 and 6000;select * from product where price >= 3000 and price <= 6000;-- 查詢id在1,5,7,15范圍內的商品select * from product where pid in(1,5,7,15);-- 查詢商品名以iPho開頭的商品(iPhone系列)select * from product where pname like 'iPho%';-- 查詢商品價格大于3000并且數量大于20的商品 (條 件 and 條件 and...)select * from product where price > 3000 and num > 20;-- 查詢id=1或者價格小于3000的商品select * from product where pid = 1 or price < 3000;

八.排序查詢

有時候我們需要對查詢出來的結果排序顯示,那么就可
以通過 ORDER BY 子句將查詢出的結果進行排序。排序可
以根據一個字段排,也可以根據多個字段排序,排序只
是對查詢的結果集排序,并不會影響表中數據的順序。
環境的準備
-- 創建學生表(有sid,學生姓名,學生性別,學生年齡,分 數列,其中sid為主鍵自動增長)CREATE TABLE student(sid INT PRIMARY KEY auto_increment,sname VARCHAR(40), sex VARCHAR(10),age INT, score DOUBLE);INSERT INTO student VALUES(null,'zs','男',18,98.5);
INSERT INTO student VALUES(null,'ls','女',18,96.5);
INSERT INTO student VALUES(null,'ww','男',15,50.5); 
INSERT INTO student VALUES(null,'zl','女',20,98.5); 
INSERT INTO student VALUES(null,'tq','男',18,60.5); 
INSERT INTO student VALUES(null,'wb','男',38,98.5); 
INSERT INTO student VALUES(null,'小 麗','男',18,100); 
INSERT INTO student VALUES(null,'小 紅','女',28,28); 
INSERT INTO student VALUES(null,'小 強','男',21,95);
單列排序: 只按某一個字段進行排序,單列排序
SELECT 字段名 FROM 表名 [WHERE 條件] ORDER BY 字段名 [ASC|DESC]; //ASC: 升序,默認值; DESC: 降序
需求 : 以分數降序查詢所有的學生
select * from student order by score desc;
組合排序: 同時對多個字段進行排序,如果第 1 個字段
相等,則按第 2 個字段排序,依次類推
SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名1 [ASC|DESC], 字段名2 [ASC|DESC];
需求:以分數降序查詢所有的學生 , 如果分數一致 ,
age 降序
select * from student order by score desc ,age desc;

九,聚合函數

之前我們做的查詢都是橫向查詢,它們都是根據條件一
行一行的進行判斷,而使用聚合函數查詢是 縱向查詢
它是對一列的值進行計算,然后返回 一個結果值 。聚合
函數會忽略空值 NULL

需求:
求出學生表里面的最高分數
求出學生表里面的最低分數
求出學生表里面的分數的總和 ( 忽略 null )
求出學生表里面的平均分
統計學生的總人數 ( 忽略 null)
-- 求出學生表里面的最高分數 
SELECT MAX(score) FROM student; -- 求出學生表里面的最低分數 
SELECT MIN(score) FROM student; -- 求出學生表里面的分數的總和(忽略null值) 
SELECT SUM(score) FROM student; -- 求出學生表里面的平均分 
SELECT AVG(score) FROM student; -- 統計學生的總人數 (忽略null) 
SELECT COUNT(sid) FROM student; 
SELECT COUNT(*) FROM student;
我們發現對于 NULL 的記錄不會統計,建議如果統計個數
則不要使用有可能為 null 的列,但如果需要把 NULL 也統
計進呢?我們可以通過 IFNULL( 列名,默認值 ) 函數來解
決這個問題 . 如果列不為空,返回這列的值。如果為
NULL ,則返回默認值。
-- 注意: 聚合函數會忽略null -- 準備添加2條數據
INSERT INTO student VALUES(null,'小 明','男',21,null); 
INSERT INTO student VALUES(null,'小 黑','男',22,98); 
-- 需求: 統計所有學生的總分數 
select sum(score) from student; -- 結果: 824 忽略null 
-- 需求:統計學生的總人數 (忽略null) 
select count(score) from student; -- 結果: 10個 忽略null 
-- 求出學生表里面的平均分 
select avg(score) from student; -- 結果: 82.4 
忽略null 問題:實際開發不能忽略null 
select avg(ifnull(score,0)) from student; - - 結果: 74.9090909090909 -- 擴展: 
-- 假設: 統計所有同學的age+score 
select sum(age+score) from student; - - 結果: 
1040 select sum(age) + sum(score) from student; - - 結果: 1061

十.分組查詢

分組查詢是指使用 GROUP BY 語句對查詢信息進行分
組。
GROUP BY 怎么分組的? 將分組字段結果中相同內容作
為一組,如按性別將學生分成兩組。
GROUP BY 將分組字段結果中相同內容作為一組,并且
返回每組的第一條數據,所以單獨分組沒什么用處。分
組的目的就是為了統計,一般分組會跟聚合函數一起使
用。
分組:語法
SELECT 字段1,字段2... FROM 表名 [where 條件] GROUP BY 列 [HAVING 條件];
需求:根據性別分組 , 統計每一組學生的總人數
-- 根據性別分組, 統計每一組學生的總人數 
SELECT sex, count(*) FROM student GROUP BY sex;
分組后篩選 having
-- 練習根據性別分組, 統計每一組學生的總人數> 5的(分 組后篩選)SELECT sex, count(*) FROM student GROUP BY sex HAVING count(*) > 5-- 練習復雜: 統計sid為8之前的的, 根據性別分組, 每 一組學生的總人數 > 2的(分組后篩選) 
select sex,count(*) from student where sid < 8 group by sex having count(*) > 2
注意事項
根據某一列進行分組 , 將分組字段結果中相同內容
作為一組 ; 有幾組 返回的記錄就有幾條
單獨分組 沒有意義 , 返回每一組的第一條記錄
分組的目的一般為了做統計使用 , 所以經常和聚合
函數一起使用
在分組里面 , 如果 select 后面的列沒有出現在 group
by 后面 展示這個組的這個列的第一個數據
where having 的區別【面試】

十一.分頁查詢

LIMIT 是限制的意思,所以 LIMIT 的作用就是限制查詢記
錄的條數 . 經常用來做分頁查詢
語法
select * from 表名 limit m,n;m是指從哪開始查;記錄開始的index,從0開始,表示第一 條記錄 n是指查多少條。
需求:分頁查詢學生 , 每一頁查詢 4
-- 需求: 分頁查詢學生, 每一頁查詢4條 
select * from student limit 0,4; -- 第1頁 
select * from student limit 4,4; -- 第2頁
select * from student limit 8,4; -- 第3頁m=(當前頁碼-1)*n,n

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/45672.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45672.shtml
英文地址,請注明出處:http://en.pswp.cn/web/45672.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue2 ant-design select組件自定義下拉框, dropdownRender 使用,以及遇到的坑

業務需求&#xff1a;下拉框需要滿足用戶可輸入篩選 和 點擊右側 字符按鈕 #A-Z進行用戶選擇 1、基礎頁面代碼 <div><a-selectstyle"width: 100%"placeholder"請選擇客戶"allow-clearshow-search:filter-option"false":not-found-con…

計算機硬件---如何更新自己電腦的BLOS

1找官網 例如“我使用的是HP&#xff08;惠普&#xff09;品牌的電腦”我只需要在瀏覽器上搜索“惠普官網”或“惠普-blos更新” 就可以看到&#xff0c;來自官網中更新blos的信息 2.有些品牌要查序列號該怎么辦呢&#xff1f; 有許多方法可以查詢&#xff0c;例如&#xf…

android13 frameworks里面常用的保存信息或者版本判斷的方法

總綱 android13 rom 開發總綱說明 目錄 1.前言 2. 數據庫 2.1 代碼讀取用法參考 3.prop 屬性配置 3.1 property的key值有哪些特點 4.區別 5. 其他數據存儲 6.彩蛋 1.前言 frameworks 不像我們一般開發app那樣,很多應用保存的方法都無法使用。這里記錄我們系統rom開…

Java性能優化-if-else簡化技巧

場景 Java性能優化-switch-case和if-else速度性能對比&#xff0c;到底誰快&#xff1f;&#xff1a; Java性能優化-switch-case和if-else速度性能對比&#xff0c;到底誰快&#xff1f;-CSDN博客 如果單純是做情景選擇&#xff0c;建議使用switch&#xff0c;如果必須使用i…

關于java的反射

???反射是啥呀相信許多學java的同學非常困惑在學的時候&#xff0c;總是感覺懂了卻又沒懂或者直接忽略過去了&#xff0c;那么本文就帶大家探討一下什么是反射在java中以及它的機制和運用。 ??什么是反射&#xff1a; 首先我們知道一些知識&#xff1a; 維基百科的解釋 …

武漢市集成電路領域重點產業鏈研究咨詢服務機構申報條件、時間

武漢市集成電路領域重點產業鏈研究咨詢服務機構公開遴選有關內容如下&#xff0c;武漢市的企業單位可以了解一下 一、采購內容 &#xff08;一&#xff09;項目名稱 武漢市集成電路領域重點產業鏈研究咨詢服務項目。 &#xff08;二&#xff09;項目內容 為進一步推動我市…

springboot項目 導入 maven坐標 錯誤 Could not transfer artifact XXX

1.報錯原因 當時導入的是 redis坐標 &#xff0c;導入jar 包報錯&#xff08;當時是網速太慢了&#xff0c;一直卡著不動 就關了 idea 重新下載&#xff09;結果報錯 之前的redis 項目都可以的&#xff0c;網上找了一下 都沒解決 2.解決辦法 既然說不能傳輸&#xff0c; 就說…

有用的工具

一、appuploader Appuploader home -- A tool improve ios develop efficiency such as submit ipa to appstore and manage ios certificate這是一款p12證書查看的工具&#xff0c; 需要建立一個apple ID專用密碼&#xff1a;Manage your Apple ID

redis其他類型和配置文件

很多博客只講了五大基本類型&#xff0c;確實&#xff0c;是最常用的&#xff0c;而且百分之九十的程序員對于Redis只限于了解String這種最常用的。但是我個人認為&#xff0c;既然Redis官方提供了其他的數據類型&#xff0c;肯定是有相應的考量的&#xff0c;在某些特殊的業務…

C++相關概念和易錯語法(22)(final、純虛函數、繼承多態難點)

1.final final在繼承和多態中都可以使用&#xff0c;在繼承中是指不想將自己被繼承&#xff0c;在多態中是指不想該函數被重寫&#xff0c;比較簡單&#xff0c;下面是一些使用例子。 2.純虛函數 當我們需要抽象一個類的時候&#xff0c;我們就需要用到純虛函數。所謂抽象的類…

C# 4.0 等待線程結束

在C#中&#xff0c;如果你正在使用多線程編程&#xff0c;并且想要等待一個或多個線程完成它們的工作再繼續執行&#xff0c;有幾種方式可以實現。從C# 4.0開始&#xff0c;雖然直接用于等待線程結束的特性&#xff08;如Thread.Join()&#xff09;在之前的版本中也已經存在&am…

升級版凱撒密碼加密解密器

目錄 開頭程序程序的流程圖程序加密與解密的效果例1加密的過程加密之后的文本 例2解密之后的文本解密之后的文本 例3加密之后的文本加密之后的文本 結尾 開頭 大家好&#xff0c;我叫這是我58。今天&#xff0c;我們來看一下我用C語言編譯的升級版凱撒密碼加密解密器和與之相關…

小程序 - - - - - 實現漸隱漸顯(監聽滾動距離版)

代碼如下&#xff1a; <!-- fixed-left --> <view class"fixed-box" animation"{{animationData}}">這里是漸隱漸顯的標簽 </view>.fixed-box {position: fixed;left: 0;top: 0;z-index: 999;background-color: #ccc;/* background-colo…

如何設計統計量及相關假設檢驗

一、如何設置H0和H1假設 誰做H0&#xff0c;誰做H1&#xff0c;在統計學的假設檢驗里是有約定俗成的規定的。即&#xff1a;status quo&#xff08;默認/現狀&#xff09;是H0&#xff0c;而新觀點或試圖challenge現狀的是H1。H1也叫research hypothesis&#xff0c;所以我們做…

【多個Python版本存在,使用pip+不同版本安裝庫時,windows彈出打開方式窗口的解決方法】

問題描述 電腦上存在python3.9&#xff0c;3.10&#xff0c;3.11&#xff0c;安裝順序也是先安裝3.9&#xff0c;然后3.10&#xff0c;最后3.11&#xff0c;那么直接使用pip安裝&#xff0c;會裝在3.11的位置&#xff0c;經過搜索可以通過pip版本&#xff0c;比如pip3.9 insta…

1.3- Zygote

第三節 Zygote 在Android系統中&#xff0c;Zygote是一個非常核心的組件&#xff0c;它扮演著孵化新應用程序進程的角色。Zygote是Android啟動過程中創建的第一個Java虛擬機&#xff08;JVM&#xff09;實例&#xff08;在Android中稱為Dalvik或ART虛擬機&#xff0c;取決于An…

如何在勒索軟件攻擊中幸存下來:最佳備份實踐、勒索攔截方案

無論身處什么業務或行業&#xff0c;數據都是您業務的關鍵資產。沒有針對數據進行安全可靠的備份保護&#xff0c;您將會受到許多“可能性”的威脅&#xff0c;無論數據丟失是由于在鍵盤上灑了飲料還是遭受到了勒索軟件的攻擊。 為了確保業務不被中斷&#xff0c;企業數據不會…

Python: 初識Python

文章目錄 1. Python的背景知識1.1 Python是咋來的?1.2 Python的特點1.3 Python能干啥?1.4 Python的缺點 2. 搭建Python環境2.1 安裝Python2.2 安裝PyCharm2.3 用pycharm編寫python程序 1. Python的背景知識 1.1 Python是咋來的? 由Guido van Rossum于1989年圣誕節為打發無…

一個用于管理多個 Node.js 版本的安裝和切換開源工具

大家好&#xff0c;今天給大家分享一個用于管理多個Node.js版本的工具 NVM&#xff08;Node Version Manager&#xff09;&#xff0c;它允許開發者在同一臺機器上安裝和使用不同版本的Node.js&#xff0c;解決了版本兼容性問題&#xff0c;為開發者提供了極大的便利。 在開發環…

路網雙線合并單線——ArcGISpro 解決方法

路網雙線合并成單線是一個在地圖制作、交通規劃以及GIS分析中常見的需求。雙線路網定義&#xff1a;具有不同流向、不同平面結構的道路。此外&#xff0c;車道數較多的道路&#xff08;例如&#xff0c;雙黃實線車道數大于4的道路&#xff09;也可以視為雙線路網&#xff0c;本…