国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MYSQL數據庫知識

2024-07-24 12:59:28
字體:
來源:轉載
供稿:網友
一、ADO主要包括Connection,Recordset和Command三個對象主要功能如下:Connection對象: 打開或連接數據庫或數據文件;Recordset對象: 存取數據庫的內容Command對象: 對數據庫下達行動查詢指令(SELECT,INSERT,UPDATE,DELETE),或調用存儲過程。二、系統數據庫:master數據庫:是數據庫管理系統中最重要的數據庫.該數據庫包含:所有用戶的登錄信息,用戶所在的組,所有系統的配置選項,服務器中本地數據庫的名稱和信息等.model數據庫:是數據庫管理系統中創建的一個數據庫模板,希望所有的數據庫中都有一個相同的數據表,創建的數據庫以model數據庫中的數據為模板進行創建.msdb數據庫:是一個windows服務,該服務用來運行制定計劃任務.tmpdb數據庫:是一個臨時數據庫,用于存放臨時對象和中間結果,當關閉SQL Server時,該數據庫中的內容被清空,當重新啟動后,該數據庫被重建.主數據庫:mdf次數據文件:ndf日志文件:ldf三、SQL示例代碼
/*   * 繪制E-R圖  *               姓名                          姓名  *                |                             |  *            +--------+                    +--------+  *    年齡<<--| 教師表 | -->>性別   年齡<<--  | 學生表 | -->> 性別  *            +--------+                    +--------+  *                 /                   /--------/  *                  /1                N  *                   //              //  *                  /  /            /  /  *                 |授課|          |上課|  *                  /  /            /  /  *                   //              //  *                    N +--------+ 1_/  *                     /| 班級表 |/  *                      +--------+    *  */-- 創建數據庫Create Database DB_DATAon PRimary   -- 定制數據庫主文件的屬性(	name	 = 'DB_DATA'   	,filename = 'c:/database/DB_DATA.mdf' -- 主文件的文件路徑	,size = 10MB  -- 主文件的起始字節數	,maxSize = 20MB -- 主文件的最大字節數	,FileGrowth=5% -- 主文件的增長大小,可百分比,也可使用字節數)log on -- 定制日志文件的屬性,參數的含義和主文件的參數一樣(	name	 = 'DB_DATALog'   	,filename = 'c:/database/DB_DATALog.ndf' 	,size = 10MB	,MaxSize = 20MB	,FileGrowth=10%)use DB_DATAgo/** 非空約束 : not null      語法: 直接使用  * 主鍵約束 : primary key   語法: 直接使用  * 默認約束 : default       語法: default(默認值)  * 檢查約束 : check         語法: check(表達式)  * 外鍵約束 : foreign key   語法: constraint 約束名 foreign key references 其他表名(其他表字段)  * 唯一約束 : unique        語法:直接使用  */-- 創建教師表Create Table Teacher(	id  int primary key identity(0,1), -- int 類型的id,主鍵約束, identity是一個默認的增量,從0開始,每添加一行記錄就會增加1	姓名 char(20) not null,   -- char類型的姓名, 非空約束	性別 char(2) check(性別='男' or 性別='女'),  -- char類型的性別,檢查約束,	年齡 int default(18) -- int 類型的年齡, 默認約束)-- 為Teacher添加約束-- Constraint:約束關鍵字,-- DK_默認約束 : 約束的標識符Alter Table Teacher Add Constraint DK_默認約束 default('男') for 性別  -- 默認約束 Alter Table Teacher  Add Constraint CK_檢查約束 check(年齡>=18 and 年齡 <= 45) -- 檢查約束-- 創建班級表Create Table Class(	id  int primary key identity(0,1),	班級名 char(20) ,	班級人數 int,	教師id int )-- 為班級表添加約束Alter Table Class Add Constraint  UK_唯一約束 unique(班級名) -- 唯一性約束-- -- 所屬班級的id ,屬于外鍵,為班機表添加外鍵約束Alter Table Class Add constraint FK_CLassToTeacher foreign key(教師id)  references Teacher(id)-- 創建學生表Create Table Student(	id int primary key identity(0,1),   -- 學生id	姓名 char(20) not null ,    	性別 char(2) default('男') check(性別='男' or 性別='女'), 	年齡 int default(18) check(年齡>=12 and 年齡 <= 50),         -- 所屬班級的id ,屬于外鍵	班級id int constraint FK_StudentToClass foreign key references Class(id))-- 插入數據到教師表insert into Teacher(姓名,性別,年齡)values('楊老師','男',35),('張老師','男',40),('李老師','男',30),('王老師','男',28),('韋老師','男',18)Select * from TeacherInsert into Class(班級名,班級人數,教師id)Values('17期',23,1)-- 插入數據到班級表-- 聲明要使用的變量Declare @楊老師id intDeclare @張老師id intDeclare @李老師id intDeclare @王老師id intDeclare @韋老師id int-- 獲取對應老師的id select @楊老師id=id from Teacher where 姓名='楊老師'select @張老師id=id from Teacher where 姓名='張老師'select @李老師id=id from Teacher where 姓名='李老師'select @王老師id=id from Teacher where 姓名='王老師'select @韋老師id=id from Teacher where 姓名='韋老師'-- 開始插入數據insert into Class(班級名,班級人數,教師id)values('18期',6, @楊老師id),('19期',7,@張老師id),('20期',8,@王老師id),('21期',5,@楊老師id)-- 插入信息到學生表-- 聲明要用到的變量declare @班級18ID intdeclare @班級19ID intdeclare @班級20ID intdeclare @班級21ID int-- 得到對應班級別的id -- 使用select語句查詢表中的18期,并將查詢好的記錄中的id字段的值賦值給局部變量Select @班級18ID = id From Class where 班級名='18期'Select @班級19ID = id From Class where 班級名='19期'Select @班級20ID = id From Class where 班級名='20期'Select @班級21ID = id From Class where 班級名='21期'-- 開始插入數據insert into Student(姓名,性別,年齡,班級id)values('楊二狗','男',18,@班級18ID),('芙蓉','女',28,@班級18ID),('趙四','男',20,@班級18ID),('麻五','男',41,@班級18ID),('工人1','女',23,@班級18ID) ,('工人2','男',13,@班級19ID) ,('工人3','男',41,@班級19ID) ,('工人4','女',42,@班級19ID) ,('工人5','男',36,@班級19ID) ,('工人6','男',34,@班級19ID) ,('工人7','男',24,@班級19ID) ,('工人8','女',16,@班級21ID) ,('工人9','女',37,@班級20ID) ,('大神1','男',41,@班級20ID) ,('大神2','男',42,@班級20ID) ,('大神3','男',34,@班級20ID) ,('大神4','女',33,@班級20ID) ,('大神5','男',27,@班級20ID)-- 普通查詢Select * From Student-- 查詢指定的列select 姓名,性別,年齡 From Student-- 在查詢時,對字段進行改名輸出Select 姓名 as  name , Sex = 性別 , Age = 年齡 From Student-- 使用等于號也能夠完成和上一行相同的功能Select name = 姓名 , Sex = 性別 , Age = 年齡 From Student-- 在查詢時,過濾部分內容,只輸出符合條件的內容Select * From Student	where 年齡>=20 and 年齡<=25 and 性別 = '女'-- 過濾查詢,輸出名字中姓大的,并且年齡在30到40歲之間的學生。Select * From Student	where 姓名 like '大%' and 年齡>=30 and 年齡<= 40 -- _ 只通配一個字符-- [abcd] -- 過濾查詢, 輸出20,25,30歲的學生Select * From Student	where 年齡 in(20,25,30) -- 多表查詢 : 簡單地將兩個表的所有內容輸出(輸出的條目數一共是表1條目數 * 表2條目數)Select * From Student , Class-- 多表過濾查詢 (輸出的條目數是表1的條目數,靠近 from 關鍵字的表是表1,也叫作左表)Select * From Student , Class	where Student.班級Id = Class.id-- 多表查詢,只輸出指定字段select Student.姓名,Student.性別,Student.年齡,Class.班級名,Class.班級人數,Teacher.姓名,Teacher.性別,Teacher.年齡 	from Student,Class,Teacher		where Student.班級Id = Class.id and Class.教師id = Teacher.id-- 嵌套查詢 , 只輸出20期的學生,且-- 先執行最內層的查詢,最內層的查詢把班級名對應的id找到select * From Student 	where Student.班級Id in 	(		select id From Class where 班級名 =  '20期'	)-- 下面這行代碼等同于上一條語句select * From Student 	where Student.班級Id in(4)-- 多表查詢-- 查詢所有學生的信息(本人信息,所屬班級信息,班級所屬教師信息select Student.姓名,Student.性別,Student.年齡,Class.班級名,Class.班級人數,Teacher.姓名,Teacher.性別,Teacher.年齡 	from Student,Class,Teacher		where Student.班級Id = Class.id and Class.教師id= Teacher.id-- 排序輸出:按姓名的拼音排序輸出select * From Student	Order By Student.姓名-- 排序輸出:按年齡排序輸出,升序select * From Student	Order By  Student.年齡 ASC-- 排序輸出:按年齡排序輸出,降序select * From Student	Order By  Student.年齡 DESC-- 分組輸出(用于配合聚合函數)-- 統計表中各個班級id出現的次數select 班級Id , count(*) From Student 	group by 班級Id
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪雅县| 惠东县| 邻水| 清新县| 元朗区| 西贡区| 西乌珠穆沁旗| 郁南县| 广河县| 明星| 北京市| 博兴县| 巢湖市| 专栏| 乌审旗| 岳阳县| 汾西县| 佛冈县| 林甸县| 常德市| 大连市| 东丽区| 玉田县| 唐山市| 阿克| 广宗县| 齐齐哈尔市| 辽源市| 阿拉善左旗| 商洛市| 余干县| 涞水县| 阿拉尔市| 安龙县| 朔州市| 逊克县| 金溪县| 高州市| 隆林| 石阡县| 深圳市|