导图社区 吉林大学《互联网数据库程序设计》4.4-4.5MySQL表达式与增加数据记录
吉林大学《互联网数据库程序设计》4.4-4.5MySQL表达式与增加数据记录。表达式,算术运算符,日期函数,字符串函数,混合数据类型转换,增加记录,替换记录
编辑于2023-03-28 14:08:53 吉林《互联网数据库程序设计》10动态网页及程序设计。链接数据库服务器,链接数据库服务器的通知语句,发送SQL语句的向导,输出记录集中的数据与记录集相关的数据
《互联网数据库程序设计》8.5-8.8数值与逻辑表达式,数值表达式,数值运算符,常用数值函数,逻辑表达式,时间戳
《互联网数据库程序设计》8.1-8.5PHP与表达式,常用PHP编辑器,Dreamweaver开发PHP应用程序,PHP程序语法,PHP与HTML的区别,变量及其赋值运算与表达式输出,字符串表达式,字符串连接符
社区模板帮助中心,点此进入>>
《互联网数据库程序设计》10动态网页及程序设计。链接数据库服务器,链接数据库服务器的通知语句,发送SQL语句的向导,输出记录集中的数据与记录集相关的数据
《互联网数据库程序设计》8.5-8.8数值与逻辑表达式,数值表达式,数值运算符,常用数值函数,逻辑表达式,时间戳
《互联网数据库程序设计》8.1-8.5PHP与表达式,常用PHP编辑器,Dreamweaver开发PHP应用程序,PHP程序语法,PHP与HTML的区别,变量及其赋值运算与表达式输出,字符串表达式,字符串连接符
4.4-4.5MySQL表达式与增加数据记录
表达式
表达式
完成语句中的运算。常数、变量(字段)和函数是基本表达式,用运算符号连接表达式构成较复杂的表达式
小括号
加小括号改变运算优先级,内小括号优先外括号
测试表达式
Select<表达式>
4.4.2常用日期型函数
1 CurDate( )
系统日期(YYYY-MM-DD)
2 CurTime( )
系统时间(HH:MM:SS)
3 Now( )、SysDate( )
系统日期时间(YYYY-MM-DD HH:MM:SS)
4 AddDate(D,n)
加n天的日期(时间)
5 Time(D)
截取时间(HH:MM:SS)
6 WeekDay(D)
周几(工作日),0周一,1周二,……,6周日,即WeekDay(D)+1恰为周几
7 DayOfWeek(D)
周几。1周日,2周一,……,7周六
8 DayName(D)
周几英文名串。如,DayName('1931-9-18') → Friday
9 MonthName(D)
月份英文名串。如,MonthName('1931-9-18') → September
10 Year(D)
日期D的年份,范围1000~9999
11 DateDiff(D1,D2)
D1与D2天数差
12 TimeDiff(D1,D2)
相隔时长,范围 -838: 59:59 ~838:59:59,只适合计算间隔不超34天23小时。如,TimeDiff('2018-1-4 7:10:10','2018-1-1 0:30:20') → 78:39:50
4.4.3常用字符串函数
1 ASCII(S)
字符编码,S中首字符机内码,范围为 0~255。0为空串,1~127为英文,128~255为汉字或全角符号
2 Char(N1[,N2 …])
编码转字符并连接
3 Char_Length(S)
字符串长度。英文符号、汉字和全角符号均为1
4 Concat(S1[,S2 …,Sn])
字符串连接
5 Concat_WS(<分隔符>,S1[,S2 …,Sn])
串连接
6 CONV(N,<当前进制>,<新进制>)
数制转换。N≥0的整数,N由当前进制(≤36)转到新进制(≤36) 串
7 ELT(N,S1[,S2,…,Sm])
数码转名称。N为数值或串 ,若1≤N≤m,返回SN,否则为NULL
8 Find_In_Set(S1,S2)
找串位置
9 Format(X,n)
转千分位
10 InSTR(S,S1)、Locate(S1,S)
子串位置
11 Locate(S1,S,<起始位置>)
子串位置。从S起始位置查S1完整子串
12 Left(S,n)
左子串, 左起n个符号。 Left('吉林省大学',3) →吉林省
13 Right(S,n)
右子串,右起向左n个符号。 Right('吉林省大学',3) →省大学
14 SubString、Mid(S,<起始位置>[,n])
中间串。从起始位置向后取n个符号
15 Lower(S):转换小写字母
Lower('Net与互联网+') → net与互联网+
16 Upper(S):转换大写字母
Upper('Net与互联网+') →NET与互联网+
17 LTrim(S):删除首空格
Concat('数据库',LTrim('互联网+')) → 数据库互联网+
18 RTrim(S):删除尾空格
Concat(RTrim('数据库'),'互联网+') → 数据库互联网+
19 Trim(S):删除首尾空格
Concat(Trim('数据库'),'互联网+') → 数据库互联网+
4.4.4混合数据类型的转换
1按算术运算符转换
字符串
可转换成数值的串首部转成数值,再运算
日期(时间)
年月日时分秒依次转成1个整数,年4位,其余各2位
2按函数的参数类型转换
某些函数参数与希望的数据类型不一致,能进行数据类型转换
Left(211985,4) → 2119;Sqrt('100A') → 10
4.5增加数据记录
数据表的组成
结构+数据记录
空表
只有表结构而无数据记录的表
数据操纵语言
用于维护数据表中数据。主要有增加(Insert、Replace)、删除(Delete)和修改(Update)
4.5.1增加多个记录
Insert [Into] <表名> [(<字段名表>)] Values(<表达式表1>) … [,(<表达式表n>)] [On Duplicate Key Update <字段名1>=<表达式1> … [,<字段名m>=<表达式m>]]
字段名表
填值的字段名及顺序,省略表示全部字段,且与表中顺序一致
表达式表
与字段名表中的字段一一对应,对应字段数据类型一致或可转换。可以为Null或Default
On Duplicate Key Update
Insert 公司表(公司名称,地址,注册日期,注册人数) VALUES ('医大一院','长春市朝阳区','1949-1-1',550) On Duplicate Key Update 注册日期='1949-1-1',注册人=550;
多条记录
执行1条语句,可以增加多条记录
多表输入顺序
有参照完整性,先输入父表(如GWB、YPRYB)中记录,后输入子表(GWCJB) 相关联记录
4.5.2增加一个记录
Insert [Into] <表名> Set <字段名1>=<表达式1>…… [,<字段名n>=<表达式n>] [On Duplicate Key Update <字段名1>=<表达式1> … [,<字段名m>=<表达式m>]]
特点
一次增1个记录,字段与表达式用=对应,其他规则同前
4.5.3替换记录
格式1
Replace [Into] <表名> [(<字段名表>)] Values (<表达式表1>) …… [,(<表达式表n>)]
格式2
Replace [Into] <表名> Set <字段名1>=<表达式1>…… [,<字段名n>=<表达式n>]
与Insert的区别
没有On Duplicate Key Update短语
关键字不重,同Insert ;重复则替换字段的值
4.4.1算术运算符及常用的数字函数
1算术运算符
有+、─、*(×)、/(÷)、DIV(整数商)和%(余数运算━求模)
整数商
余数运算
2数学函数
以数值为参数,返回值也是数值型的函数
1ABS(X)
绝对值。ABS(-5.1)→5.1
2Mod(X,Y)
求模(%)。 Mod(5,2)、Mod(5,-2)→1
3Power(X,n)
指数(Xn)。 Power(5,2)、Power(-5,2)→25; Power(25,1/2)→5; Power(-25,1/2) 负数不能开偶次方!
4Sqrt(X)
开平方,同Power(X,1/2)
5Ceiling(X)
取天棚,返回≥X的最小整数。Ceiling(5.1)→6;Ceiling(-5.1)→-5
6Floor(X)
取地板,返回≤X的最大整数。Floor(5.1) →5;Floor(-5.1)→-6
7Round(X[,n])
四舍五入。n=0,不写,0,小数点后第1位舍入保留整数;n≥1,小数点后第n+1位舍入,保留整数和n位小数;n≤-1,整数第|n|位舍入,第|n|及低位填0
n=0
Round(15.7654 )→ 16
n≥1
Round(15.7654,2) →15.77
n≤-1
Round(15.7654, -1) → 20
8Truncate(X,n)
舍去,与Round区别仅是不入