您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > mysql基本操作(适合新手)
MySQLMySQL基本操作基本操作环环境境接下来几章介绍有关如何建立资料库、在资料库中查询与异动资料,会有在MySQL的指令操作模式,也有用phpMyAdmin的Web介面操作方式。本章将只针对MySQL的基本环境使用和资料型态等做介绍。开离开*教科书投影片同教科书受著作权保护,仅供教师作为授课用途。学校教师得使用投影片,於授课期间,搭配用书进行教学;由於投影片极易重制、列印、出版,为避免第三人(含学生)因不知情而发生侵权行为,请支持与协助不将教学投影片以任何型式移转予第三人使用。如有特殊需求,请向出版社申请授权协议。目录11-1MYSQL操作環境介紹环绍11-2建立表格11-3MYSQL资态11-4资SQL处关回章首离开下一頁页上一頁页11-1MySQL操作环境介绍回目錄录下一頁页上一頁页下一節节接下来几章介绍有关如何建立资料库、在资料库中查询与异动资料,会有在MySQL的指令操作模式,也有用phpMyAdmin的Web介面操作方式。至於资料库的基本概念,譬如:关联式资料库的观念、何谓SQL、正规化的步骤…等等,这些在第二章「关联式资料库与SQL概论」已介绍过。本章将只针对MySQL的基本环境使用和资料型态等做介绍。11-1MySQL操作环境介绍回目錄录下一頁页上一頁页从Windows左下角的「开始」功能表进入,执行「AppServ」下的「MySQLCommandLineClient」来进入MySQL。若在安装时有设定MySQL管理者(root)的密码,那么要输入正确的管理者密码才能成功进入MySQL:linux下命令行输入:mysql-uroot-p进入;和windows操做都基本相同;输入MySQL管理者的密码下一節节11-1MySQL操作环境介绍回目錄录下一頁页上一頁页当成功进入MySQL之后,它的命令列会变成以“mysql”为开头。每下完一个MySQL指令后要加分号「;」再按Enter键才会执行该指令。如果要重覆执行之前所下过的指令,或想把之前执行过的指令叫出来修改再执行,可以按上下键来浏览前后一个已下过的指令。若要离开MySQL的环境,只要下“exit;”指令即可。下一節节11-1MySQL操作环境介绍回目錄录下一頁页上一頁页几个在MySQL比较有机会用到的指令:显示目前已有的资料库-showdatabasesshowdatabases指令可以显示目前伺服器上已有的资料库名称。下一節节11-1MySQL操作环境介绍回目錄录下一頁页上一頁页建立资料库-createdatabase[databasename]createdatabase指令可以建立新的资料库,后面加建立的新资料库名称即可。重新showdatabase,可看到新建好的“school”资料库下一節节11-1MySQL操作环境介绍回目錄录下一頁页上一頁页显示资料库已有的表格-showtables在用use指令切换资料库之后,可以用showtables来查询目前所在的资料库中有哪些表格。记得先用use切换资料库下一節节11-1MySQL操作环境介绍回目錄录下一頁页上一頁页建立表格-createtable建立表格的createtable指令格式如下:createtable[tablename](field1type1,field2type2,…..);重新showtables,可看到新建好的“stdmaster”表格下一節节11-1MySQL操作环境介绍回目錄录下一頁页上一頁页显示表格的栏位定义-describe[tablename]describe指令后加上表格名称,可以显示该表格的栏位名称和资料型态…等有关表格结构(Structure)的定义。下一節节11-1MySQL操作环境介绍回目錄录下一頁页上一頁页删除表格-droptable[tablename]droptable指令可以将指定的表格,连同表格内的所有资料记录一并删除。在执行时也不会有警告讯息,要小心使用。重新showtables,已看不到“stdmaster”表格了下一節节11-1MySQL操作环境介绍回目錄录下一頁页上一頁页删除资料库-dropdatabase[databasename];dropdatabase指令会将目前存在的资料库整个删除,后面加欲删除的资料库名称即可。要特别注意的是,要是资料库里已经有些表格了,dropdatabase就会自动也将资料库里所有的表格,连同表格内的资料一并删除。在执行时不会有警告讯息,使用上要小心。切换(Switch)目前使用的资料库-use[dbname]所谓切换目前使用的资料库,就是要将某个资料库视为目前所有指令(如建立、删除表格与显示资料库已有的表格)所针对的资料库对象。譬如:建立表格之前,要先切换作用中的资料库,这样稍后所建立的表格才会建立在想要放的资料库里。下一節节11-2建立表格回目錄录下一頁页上一頁页下一節节建立表格的指令是CreateTable,这一节将介绍以CreateTable指令建立新表格的语法。11-2-1建立表格-CreateTable回目錄录下一頁页上一頁页完整的CreateTable指令语法有许多参数可选用,这里仅列出最常用的部份供读者参考。CreateTabletablename[field_definition,...][select_statement];其中field_definition:fieldnametype[NOTNULL|NULL][DEFAULTdefault_value][AUTO_INCREMENT[PRIMARYKEY]][ZEROFILL]下一節节11-2-1建立表格-CreateTable回目錄录下一頁页上一頁页说明:field_definition即栏位定义,它包含了:栏位名称、栏位型态、和它的栏位设定子。MySQL有许多栏位设定子可使用,在下一小节再介绍。在建立表格时搭配select_statement是代表在建立表格的同时,将别的表格的资料直接复制过来。若使用select_statement可以省略field_definition,建立出来的表格结构,即栏位定义,就会和资料来源的表格一样。使用select_statement仍然可以自行定义新表格的结构,注意若栏位长度较来源资料短,资料会有被截断问题。范例:createtablepricelist_new(prodnovarchar(5),vendornovarchar(5),pricesmallint)select*frompricelist;下一節节11-2-1建立表格-CreateTable回目錄录下一頁页上一頁页以下是复制资料来源的表格pricelist目前的表格结构和内容:这是复制的资料来源下一節节11-2-1建立表格-CreateTable回目錄录下一頁页上一頁页经过执行指令建立新的表格pricelist_new,并将表格pricelist的资料复制给它之后,新的表格pricelist_new结构因为文字的长度只有varchar(5),而非pricelist表格中定义的varchar(10),所以文字的后半段被截掉了。复制过来的资料内容被截掉下一節节11-2-1建立表格-CreateTable回目錄录下一頁页上一頁页但若在CreateTable时,不指定栏位定义,就没有上述问题。因为建立的新表格结构会和来源表格一模一样,资料也一样,当然资料也不会有被截掉的问题。使用方式视情况而定。复制过来的资料和来源一模一样下一節节11-2-2栏位设定子回目錄录下一頁页上一頁页在定义表格的栏位时,除了一定要定义每个栏位的名称和资料型态,MySQL还提供了几个资料栏位设定子(ColumnModifier)。它可以用来设定资料栏位的属性,包括了预设值(Default)、自动增量(AutoIncrement)、无号数(Unsigned)、主键值(PrimaryKey)等。空值/非空值(Null/NotNull)Null是允许该栏位的值是空值,而NotNull是指该栏位不允许接受空值。没有特别设定的话,预设状态是Null。下一節节11-2-2栏位设定子回目錄录下一頁页上一頁页栏位预设值(DEFAULT)若某个栏位有用“DEFAULT”设预设值,那么在新增(Insert)记录时,若没有针对该栏位设定要给予的值,那么该栏位就会自动以预设值做为此次新增记录时的栏位值。自动设为预设值‘F’下一節节11-2-2栏位设定子回目錄录下一頁页上一頁页自动增量设定(AUTO_INCREMENT)“AUTO_INCREMENT”自动增量设定子只可用在整数型态栏位。栏位如果加了自动增量设定,则每增加一笔新纪录,不需要为该栏位设定值,它的值就会自动增加1。当你插入一笔资料时,其中的设定为“AUTO_INCREMENT”栏位值必须存入NULL值、0或空白值。也可指定存入一个数值,但是假如该数字已经存在的话,则会产生错误。假如这次所要插入的记录,其栏位值将成为目前资料表格中该栏位的最大值,则再一次增加的纪录,其该栏位值将会以此次加入的值加1。下一節节11-2-2栏位设定子回目錄录下一頁页上一頁页当新建一个新的资料表,并且指定其中一个栏位为“AUTO_INCREMENT”时,可以在插入第一笔资料时即指定一个值做为“AUTO_INCREMENT”的初始值,之后每次新增记录就可以自初始值开始递增。当一个栏位被设为“AUTO_INCREMENT”,且它是唯一个“自动增量栏位,MySQL会要求将它设为PrimaryKey。例如:CreateTablecustmast(custnointnotnullauto_incrementprimarykey,birthdatedate);每次新增自动递增1下一節节11-2-2栏位设定子回目錄录下一頁页上一頁页自动补齐零(ZEROFILL)“ZEROFILL”适用於设在所有数值型态的栏位。如果将一个数值型态栏位设定为“ZEROFILL”,则会在数值之前补齐“0”。例如,在插入记录到资料表格时,将78的值存入到一个宣告为INT“ZEROFILL”的栏位时,此时存放的资料为0000000078。“ZEROFILL”这个设定子对於需要格式化输出的数值资料有帮助,譬如,会员编号从0000000001、0000000002、0000000003、….开始编号下去。前面不足位数的部份会用零补齐,这样相同的位数会自动对齐好,在浏览资料时也较清楚。例如:CreateTablecustmast(custnointzerofill,addressvarchar(30));下一節节11-2-2栏位设定子回目錄录下一頁页上一頁页无号数(UNSIGNED)无号数(UNSIGNED)这个栏位设定仅适用於整数型态栏位。 一般的数字都有正负号,所以在二进位表示下,最高的位元就被拿来当作符号位元,所以才允许有负数。所谓无号数就是舍弃符号位元,改拿来表现数字,因此它只表示正数。因为多了一个位元可使用,它可表示的正数范围是有号数的两倍。这在某些数值只需要正数而不需要负数的情形下可以更加有效利用储存空间。Createtablesales (prodnovarchar(10),pirceintunsigned,amountintunsigned);下一節节11-3MySQL资料型态回目錄录下一頁页上一頁页下一節节资料库的资料型别(DataType)是指一个资料栏位内所存放资料之型态,它关系著资料所占磁碟空间的大小与查询资料库时的执行效率。而这节要介绍MySQL资料库栏位可储存的资料型态,这样才能知道如何在建立资料库表格时,为表格的每个栏位选择适合它的资料型态。MySQL资料库的栏位资料型态,大致可分为五种:数字型态日期与时间型态字串与字元型态列举型态集合型态11-3MySQL资料型态回目錄录下一頁页上一頁页将这几个资料型态的储存空间需求及其值的大小范围整理如下:数字型态各种数值型态所用之记忆体空间、数值范围如下所示,M表示数字的
本文标题:mysql基本操作(适合新手)
链接地址:https://www.777doc.com/doc-6384092 .html