|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
这里我们讨论用binlog来实现闪回的方案。
--语句功能--数据操纵SELECT--从数据库表中检索数据行和列INSERT--向数据库表增加新数据行DELETE--从数据库表中删除数据行UPDATE--更新数据库表中的数据--数据界说CREATETABLE--创立一个数据库表DROPTABLE--从数据库中删除表ALTERTABLE--修正数据库表布局CREATEVIEW--创立一个视图DROPVIEW--从数据库中删除视图CREATEINDEX--为数据库表创立一个索引DROPINDEX--从数据库中删除索引CREATEPROCEDURE--创立一个存储历程DROPPROCEDURE--从数据库中删除存储历程CREATETRIGGER--创立一个触发器DROPTRIGGER--从数据库中删除触发器CREATESCHEMA--向数据库增加一个新形式DROPSCHEMA--从数据库中删除一个形式CREATEDOMAIN--创立一个数据值域ALTERDOMAIN--改动域界说DROPDOMAIN--从数据库中删除一个域--数据把持GRANT--授与用户会见权限DENY--回绝用户会见REVOKE--排除用户会见权限--事件把持COMMIT--停止以后事件ROLLBACK--中断以后事件SETTRANSACTION--界说以后事件数据会见特性--程序化SQLDECLARE--为查询设定游标EXPLAN--为查询形貌数据会见企图OPEN--检索查询了局翻开一个游标FETCH--检索一行查询了局CLOSE--封闭游标PREPARE--为静态实行筹办SQL语句EXECUTE--静态地实行SQL语句DESCRIBE--形貌筹办好的查询
---部分变量declare@idchar(10)--set@id=10010001select@id=10010001
---全局变量---必需以@@开首
--IFELSEdeclare@xint@yint@zintselect@x=1@y=2@z=3if@x>@yprintx>y--打印字符串x>yelseif@y>@zprinty>zelseprintz>y
--CASEusepanguupdateemployeesete_wage=casewhenjob_level=’1’thene_wage*1.08whenjob_level=’2’thene_wage*1.07whenjob_level=’3’thene_wage*1.06elsee_wage*1.05end
--WHILECONTINUEBREAKdeclare@xint@yint@cintselect@x=1@y=1while@x<3beginprint@x--打印变量x的值while@y<3beginselect@c=100*@x+@yprint@c--打印变量c的值select@y=@y+1endselect@x=@x+1select@y=1end
--WAITFOR--例守候1小时2分零3秒后才实行SELECT语句waitfordelay’01:02:03’select*fromemployee--例比及早晨11点零8分后才实行SELECT语句waitfortime’23:08:00’select*fromemployee
***SELECT***
select*(列名)fromtable_name(表名)wherecolumn_nameoperatorvalueex宿主)select*fromstock_informationwherestockid=str(nid)stockname=str_namestocknamelike%findthis%stocknamelike[a-zA-Z]%---------([]指定值的局限)stocknamelike[^F-M]%---------(^扫除指定局限)---------只能在利用like关头字的where子句中利用通配符)orstockpath=stock_pathorstocknumber<1000andstockindex=24notstocksex=manstocknumberbetween20and100stocknumberin(10,20,30)orderbystockiddesc(asc)---------排序,desc-降序,asc-升序orderby1,2---------by列号stockname=(selectstocknamefromstock_informationwherestockid=4)---------子查询---------除非能确保内层select只前往一个行的值,---------不然应在外层where子句顶用一个in限制符selectdistinctcolumn_nameformtable_name---------distinct指定检索独占的列值,不反复selectstocknumber,"stocknumber+10"=stocknumber+10fromtable_nameselectstockname,"stocknumber"=count(*)fromtable_namegroupbystockname---------groupby将表按行分组,指定列中有不异的值havingcount(*)=2---------having选定指定的组
select*fromtable1,table2wheretable1.id*=table2.id--------左内部毗连,table1中有的而table2中没有得以null暗示table1.id=*table2.id--------右内部毗连
selectstocknamefromtable1union[all]-----union兼并查询了局集,all-保存反复行selectstocknamefromtable2
***insert***
insertintotable_name(Stock_name,Stock_number)value("xxx","xxxx")value(selectStockname,StocknumberfromStock_table2)---value为select语句
***update***
updatetable_namesetStockname="xxx"[whereStockid=3]Stockname=defaultStockname=nullStocknumber=Stockname+4
***delete***
deletefromtable_namewhereStockid=3truncatetable_name-----------删除表中一切行,仍坚持表的完全性droptabletable_name---------------完整删除表
***altertable***---修正数据库表布局
altertabledatabase.owner.table_nameaddcolumn_namechar(2)null.....sp_helptable_name----显现表已有特性createtabletable_name(namechar(20),agesmallint,lnamevarchar(30))insertintotable_nameselect.........-----完成删除列的办法(创立新表)altertabletable_namedropconstraintStockname_default----删除Stockname的default束缚
***function(/*经常使用函数*/)***
----统计函数----AVG--求均匀值COUNT--统计数量MAX--求最年夜值MIN--求最小值SUM--乞降
--AVGusepanguselectavg(e_wage)asdept_avgWagefromemployeegroupbydept_id
--MAX--求人为最高的员工姓名usepanguselecte_namefromemployeewheree_wage=(selectmax(e_wage)fromemployee)
--STDEV()--STDEV()函数前往表达式中一切数据的尺度差
--STDEVP()--STDEVP()函数前往整体尺度差
--VAR()--VAR()函数前往表达式中一切值的统计变异数
--VARP()--VARP()函数前往整体变异数
----算术函数----
/***三角函数***/SIN(float_expression)--前往以弧度暗示的角的正弦COS(float_expression)--前往以弧度暗示的角的余弦TAN(float_expression)--前往以弧度暗示的角的正切COT(float_expression)--前往以弧度暗示的角的余切/***反三角函数***/ASIN(float_expression)--前往正弦是FLOAT值的以弧度暗示的角ACOS(float_expression)--前往余弦是FLOAT值的以弧度暗示的角ATAN(float_expression)--前往正切是FLOAT值的以弧度暗示的角ATAN2(float_expression1,float_expression2)--前往正切是float_expression1/float_expres-sion2的以弧度暗示的角DEGREES(numeric_expression)--把弧度转换为角度前往与表达式不异的数据范例可为--INTEGER/MONEY/REAL/FLOAT范例RADIANS(numeric_expression)--把角度转换为弧度前往与表达式不异的数据范例可为--INTEGER/MONEY/REAL/FLOAT范例EXP(float_expression)--前往表达式的指数值LOG(float_expression)--前往表达式的天然对数值LOG10(float_expression)--前往表达式的以10为底的对数值SQRT(float_expression)--前往表达式的平方根/***取近似值函数***/CEILING(numeric_expression)--前往>=表达式的最小整数前往的数据范例与表达式不异可为--INTEGER/MONEY/REAL/FLOAT范例FLOOR(numeric_expression)--前往<=表达式的最小整数前往的数据范例与表达式不异可为--INTEGER/MONEY/REAL/FLOAT范例ROUND(numeric_expression)--前往以integer_expression为精度的四舍五进值前往的数据--范例与表达式不异可为INTEGER/MONEY/REAL/FLOAT范例ABS(numeric_expression)--前往表达式的相对值前往的数据范例与表达式不异可为--INTEGER/MONEY/REAL/FLOAT范例SIGN(numeric_expression)--测试参数的正负号前往0零值1负数或-1正数前往的数据范例--与表达式不异可为INTEGER/MONEY/REAL/FLOAT范例PI()--前往值为π即3.1415926535897936RAND([integer_expression])--用任选的[integer_expression]做种子值得出0-1间的随机浮点数
----字符串函数----ASCII()--函数前往字符表达式最左端字符的ASCII码值CHAR()--函数用于将ASCII码转换为字符--假如没有输出0~255之间的ASCII码值CHAR函数会前往一个NULL值LOWER()--函数把字符串全体转换为小写UPPER()--函数把字符串全体转换为年夜写STR()--函数把数值型数据转换为字符型数据LTRIM()--函数把字符串头部的空格往失落RTRIM()--函数把字符串尾部的空格往失落LEFT(),RIGHT(),SUBSTRING()--函数前往部分字符串CHARINDEX(),PATINDEX()--函数前往字符串中某个指定的子串呈现的入手下手地位SOUNDEX()--函数前往一个四位字符码--SOUNDEX函数可用来查找声响类似的字符串但SOUNDEX函数对数字和汉字均只前往0值DIFFERENCE()--函数前往由SOUNDEX函数前往的两个字符表达式的值的差别--0两个SOUNDEX函数前往值的第一个字符分歧--1两个SOUNDEX函数前往值的第一个字符不异--2两个SOUNDEX函数前往值的第一二个字符不异--3两个SOUNDEX函数前往值的第一二三个字符不异--4两个SOUNDEX函数前往值完整不异
QUOTENAME()--函数前往被特定字符括起来的字符串/*selectquotename(abc,{)quotename(abc)运转了局以下----------------------------------{{abc}[abc]*/
REPLICATE()--函数前往一个反复character_expression指定次数的字符串/*selectreplicate(abc,3)replicate(abc,-2)运转了局以下----------------------abcabcabcNULL*/
REVERSE()--函数将指定的字符串的字符分列按次倒置REPLACE()--函数前往被交换了指定子串的字符串/*selectreplace(abc123g,123,def)运转了局以下----------------------abcdefg*/
SPACE()--函数前往一个有指定长度的空缺字符串STUFF()--函数用另外一子串交换字符串指定地位长度的子串
----数据范例转换函数----CAST()函数语法以下CAST()(<expression>AS<data_type>[length])CONVERT()函数语法以下CONVERT()(<data_type>[length],<expression>[,style])
selectcast(100+99aschar)convert(varchar(12),getdate())运转了局以下------------------------------------------199Jan152000
----日期函数----DAY()--函数前往date_expression中的日期值MONTH()--函数前往date_expression中的月份值YEAR()--函数前往date_expression中的年份值DATEADD(<datepart>,<number>,<date>)--函数前往指定日期date加上指定的分外日时代隔number发生的新日期DATEDIFF(<datepart>,<number>,<date>)--函数前往两个指定日期在datepart方面的分歧的地方DATENAME(<datepart>,<date>)--函数以字符串的情势前往日期的指定部分DATEPART(<datepart>,<date>)--函数以整数值的情势前往日期的指定部分GETDATE()--函数以DATETIME的缺省格局前往体系以后的日期和工夫
----体系函数----APP_NAME()--函数前往以后实行的使用程序的称号COALESCE()--函数前往浩瀚表达式中第一个非NULL表达式的值COL_LENGTH(<table_name>,<column_name>)--函数前往表中指定字段的长度值COL_NAME(<table_id>,<column_id>)--函数前往表中指定字段的称号即列名DATALENGTH()--函数前往数据表达式的数据的实践长度DB_ID([database_name])--函数前往数据库的编号DB_NAME(database_id)--函数前往数据库的称号HOST_ID()--函数前往服务器端盘算机的称号HOST_NAME()--函数前往服务器端盘算机的称号IDENTITY(<data_type>[,seedincrement])[AScolumn_name])--IDENTITY()函数只在SELECTINTO语句中利用用于拔出一个identitycolumn列到新表中/*selectidentity(int,1,1)ascolumn_nameintonewtablefromoldtable*/ISDATE()--函数判别所给定的表达式是不是为公道日期ISNULL(<check_expression>,<replacement_value>)--函数将表达式中的NULL值用指定值交换ISNUMERIC()--函数判别所给定的表达式是不是为公道的数值NEWID()--函数前往一个UNIQUEIDENTIFIER范例的数值NULLIF(<expression1>,<expression2>)--NULLIF函数在expression1与expression2相称时前往NULL值若不相称时则前往expression1的值
这章描述如何检查和处理在MySQL数据库中的数据损坏。如果你的表损坏很多,你应该尝试找出其原因!见G.1调试一个MySQL服务器。 |
|