《mySql总结.docx》由会员分享,可在线阅读,更多相关《mySql总结.docx(17页珍藏版)》请在第壹文秘上搜索。
1、Mysql吩咐:在mysql的bin书目卜.执行:Mysql-hhostname-uUSer_name-ppasswordCse数据库名;选定默认数据库(切换数据库)查询当前运用的数据库:selectdatabase();Showdatabases;显示全部数据库:Showtables;显示默认数据库下的全部表:ShowStatUs;显示服务器状态信息c;放弃正在输入的吩咐;h;显示吩咐清单:s;显示mysql服务器状态信息:q;退出mysql;DeSCribe表名:查看表结构;档案柜相当于数据库,抽屉相当于表,抽屉中的文件相当于记录;Ox:加1至I9的数字或者a到f就可以构成16进制。留意零
2、X中的X不能大写。字符用:单引号或者双引号引起来的都是字符串;Tinyint是1字节;Smallint是2字节:MediUminl是3字节:Int是4字节Bigint是8字节;删除主表前,先删除子表。选择主键的原则:D最少性:尽量选择单个键做为主键2)稳定性:尽量选择数值更新少的列作为主键。查看白定义函数创建信息:Showcreatefunctionfnction-name;类型总结:TinyinI:占一个字节,它的范围是T28到127Smallint:占2个字节,它的范围是-2的15次方到2的15次方减一;MediUmint:占3个字节,它的范围是-2的23次方到2的23次方减;Int:占4
3、个字节,它的范围是-2的31次方到2的31次方减一;BiginI:占8个字节,它的范围是-2的63次方到2的63次方减一;Float:占4个字节Double:占8个字节Decimal(m,n):占m个字节;Char(IO)和char(10Char)是一样的;数值列的完整性约束饼解:Autoincrement(自动标识列):在须要产生唯一标示符号或者依次值的时候,可用此属性。值从1起先,一般在插入null到autoincrement列时,mysql会插入比当前列最大值大1的值。一个表中最多能有一个此属性的列。对想运用此屈性的列应当定义为notnull,并定义为primarykey或者定义为uni
4、que.Null和notnull:默认是null,假如在插入数据时,指定了notnull,那么在插入数据时必须要在此字段插入数据。假如指定了null,那么在插入数据时,假如没有给此字段插入数据,此字段就插入null,mysql-hhost-uuser-pmenagerie留意,刚才显示的吩咐行中的menagerie不是你的密码。假如你想要在吩咐行上在-P选项后供应密码,则不能插入空格(例如,如-PmyPaSSWOrd,不是-PmyPaSsword)。但是,不建议在吩咐行输入密码,因为这样会暴露密码,能被在机器上登录的其它用户窥探到。查i旬当前日期:运用CUrdate()函数,任何表都可以的.S
5、electcurdate()fromcJym;可以通过year,month,day获得它的年月日。Selectyear(curdate()fromcjym;Selectmonth(curdate()fromcjym:Selectday(curdate()fromcjym:Mysql中的一和与表示单个字符和零个或者多个字符;有Iike和notlike比较操作符;要想找出你的服务器支持哪个存储引擎,执行下面的语句:Showengines;Select1/7;都可以:日期和时间类型:Time:时间:Date:日期:Datetimc:日期和时间;创建表:Createtablestudent(Stude
6、ntidint(10)notnul1primarykeyautoincrement,Sludenljamevarchar(20);留意在创建表的时候,假如是手动写SqI语句的时候自动标示符要写这样的auto_increment;有个卜划线;更改未结构操作:给表添加一条字段:在最前面加字段用first,在最终面加用after;默认在最终加;Altertablestudentaddageintfirst;给表设定默认值:Altertablestudentaltercolumn_namesetdefaultdefault_value;给表中的字段添加主键;假如主键存左则出现错误;addprimary
7、key(columnname);Altertablestudent删除表中的一列:.,ltertablestudentdropColUmn_name;删除表中的主键:Altertablestudentdropprimarykey;更改表的名字:Altertablestudentrenameasnew_tabIename:修改表中的字段类型:Altertablestudentmodifysnoint;运算符:Between。and用于检验一个值(一个求值表达式)是否存在一个指定的范围内:Select10between1and100;结果是1:表示是真的;In用于检验一个值(一个表达式)是否包含在
8、一个指定的集合中。Select2in(1,2,3,4,5,6),ain(b,e,.h):结果显示1和0;1表示真,0表示假:Isnull和isnotnull来测定是否为空;特别的运算符:Xmysql称它为null平安的等于:Selectnull=null,nullnull;结果显示null和1:RegeXP运算符:Mysql中的元字符;逻辑运算符:and(&),or(),not(!)KNC,7Io,HC插入数据时,插入多行值时:1.B=-1一一一一-Tr-rIgradeICourscidIs11oTint(11)int(ll)char(5)阂YESYES0NU1.1.NU1.1.II1.3ro
9、wsinset(0.00sec)“CVWINDOWSsysteHi32cmd.exenysqlhlocalhosturoot-pBCRygq1insertintoscvalues(l,l,woi),-(2,2,t).-(3,3,ni,);Juery0K,3rowsaffected(O.Olsec)tecords:3Duplicates:0Warnings:0ysqlselect*fromsc;TIgrade4_一一CourseidsnoI_-1II2I3+T123WOIta11iI-rcwsinset(0.00sec)Bysql-搜狗脐音半:插入多行数据:Insertinto表名(列名)Sel
10、ect列名From表名;更改记录的操作语法格式:Cpdale表名set列名=更新值where更新条件删除记录的操作格式:Deletefrom表名where删除条件;表和字段的引用方式有两种:肯定引用:数据库名表名(.字段名);相对引用:表名.(字段名):Where子句运用的谓词:Between。and。在两数之间Notbetween.and.不在两数之间In:是否在特定的集合里。Notin:及上面相反。1.ike:是否匹配一个模式;RegeXP:检查一个值是否匹配一个常规表达式:复制表:Createtablestudentselectname,agefromstu;更制表后,表中的字段和stu
11、表中的字段一样并且记录数也是存在的:MySO1.5.5Comaand1.ineClienteidnid,Atline1nysqlcreatetablestudentselectnn0agfro。stu;QueryOH,6Records:6rowsAffectedDuplicates:0Warnings:0ysqldcscstudent;SPieldSTypCIHullIKeyIDefaultIExtra:SnaIUarChw:YES:NU1.1.I:!age!int-IVESt-+ISBI-!2rowsinsetryqlselectf*onstudent;InameIageI.!chcn9Ji
12、A11!29IIyangneiI3I:MObaO:48:(paopaoI50IIiAiao1NU1.1.IuangMan1SS6rowinsetm”ql.CMWINDOWSBystem32cmdexe-nysql-hlocoIhost-uroot-PEJ2p?ysqlselectfrorosc;IgradeICourseidIsnoI1I4INOI2 I2Ita3 I3Ini3 rowsinset(O.OOsec)BySq1selectfromscorderbycourseiddescIindt2,IgradecourseidIsno4 Iwo3Ini2rwsinset(O.OOsec)ysq
13、lselectfromscorderbycourseiddesc(limit3,2);ERROR1064(42000):YouhaveanerrorinyourSQ1.syntax,checkthePanUalthatcorrespondstoyourIy931.serverversionfortherightsyntaxtousenear(Iindt3,2)atline1三ysql_狼酶音半:学习地址:Mysql的存储过程:Createprocedurep()BeginEnd:delimiter/createproceduremath_demo()begindeclareiintdefaul
14、t0;declareddecimal(10,4)default0;declarefloatdefault0:whilei10000dosetd=d+.OOOl;setf=f+.0001E0:seti=i+1;endwhile;selectd,f;end/callmathdcmo();mysql中的自定义方法的运用delimiter/createfunctionfurction-name()returnsreturn_type;beginreturnreturn_value:end;/执行mysql自定义的函数用Selectfunctionname();mysql中的存储过程delimiter/createproceduremath_deno()begindeclareiinidefault0;d