您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > MYSQL基础教程总和
网络数据库(networkdatabase)在网络环境中,为了提高系统的性能和可靠性,一般都采用具有“客户/服务器数据库引擎”的大型关系数据库系统。通常指跨越电脑在网络上创建、运行的数据库。目前使用较为广泛的网络数据库平台有SQLServer、MySQL、Oracle等。一、MySQL基础知识作为开源软件的代表,MySQL数据库随着其功能的日益完善和可靠性的不断提高,已经成为互联网平台上应用广泛的数据库软件。特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。主要内容1.MySQL数据库管理系统概述2.MySQL安装与配置3.MySQL图形化工具的使用1、MYSQL数据库管理系统概述最近几年,随着it技术的发展,开源数据库逐渐流行;和传统的商业数据库相比,开源数据库具有完全免费、源码公开、随意下载等特点,并可以用于各种商业目的。这使得开源软件被广泛应用在各个行业中,大大降低了企业的开发运营成本。MySQL正是这些开源数据库中的杰出代表。1)MySQL历史与发展最早源于开源软件mSQL,由DavidAxmark等三个瑞典人于20世纪90年代开发的一个关系型数据库;2000年开始使用GPL许可协议,成为开源软件的一分子;2001年开始引入InnoDB存储引擎,于2002年正式宣布MySQL全面支持事务,满足ACID属性。2003年,MySQL4.0发布,开始支持集合操作;2004年,MySQL4.1发布,增加对子查询的支持;2005年,MySQL5.0发布,增加对视图(View)、存储过程(Procedure)、触发器(Trigger)、服务器游标(Cursor)及分布式事务协议等高级特性的支持,至此,MySQL从功能上已经具备了支持企业级应用的主要特性。在实际应用方面,LAMP(Linux+Apache+MySQL+Perl/PHP/Python)也逐渐成了IT业广泛使用的Web应用架构。2)MySQL特点(对比其他数据库)一直坚持性能优先的原则;web应用往往需要支持大量的数据和并发请求,性能常常是首要因素;可运行在不同操作系统平台上;相对来说,MySQL使用比较简单,管理维护相对容易;2.MySQL的安装与配置二、MySQL使用入门SQL,是StructuredQueryLanguage的缩写,是使用关系模型的数据库应用语言;正是由于SQL语言的标准化,所以大多数关系型数据库系统都支持SQL语言,它已经发展成为多种平台进行交互操作的底层会话语言。主要内容1、SQL分类2、DDL语句3、DML语句4、DCL语句1)SQL分类DDL语句:数据定义语言,常用的语句关键字主要包括create、drop、alter等;DML语句:数据操纵语句,常用的语句关键字主要包括insert、delete、update、select等;DCL语句:数据控制语句,主要的语句关键字包括grant、revoke等。2)DDL语句DDL是数据定义语言的缩写,简单的说,就是对数据库内部的对象进行创建、删除、修改的操作语言;和DML语句的最大区别是——DML只是对表内部数据的操作,而不涉及表的定义、结构的修改,更不会涉及其他对象;DDL语句更多地被数据库管理员(DBA)所使用。①创建数据库CREATEDATABASEdbname;如:创建数据库test1,命令为Mysqlcreatedatabasetest1;Queryok,1rowsaffected(0.03sec)--成功显示常见问题mysqlcreatedatabasetest1;①ERROR1044(42000):Accessdeniedforuser‘’@‘localhost’todatabase‘test1‘(用户没有权限)②Error1007(HY000):Can‘tcreatedatabase’test1‘;databaseexists(已经存在这个数据库)如果要知道系统存在哪些数据库,可使用命令查看:mysqlshowdatabases;②删除数据库可以使用命令查看test数据库中创建的所有数据表运行方式:Mysqlusetest1;DatabasechangedMysqlshowtables;Emptyset(0.00sec)要删除test1数据库,可使用以下语句Mysqldropdatabasetest1;Queryok,0rowsaffected(0.00sec)Queryok代表操作成功;在mysql里面,drop语句操作的结果显示都是0rowsaffected;③创建数据表在数据库中创建一张表的基本语法如下:Createtabletablename(column_1datatype_1constraints,column_2datatype_2constraints,……column_ndatatype_nconstraints)例创建一个名称为emp的表。表中包括ename(姓名)、hiredate(雇用日期)和sal(薪水)三个字段,字段类型分别为varchar(10)、date、int(2)。mysqlcreatetableemp(enamevarchar(10),hiredatedate,salint(2));Queryok,0rowsaffected(0.08sec)查看表表创建完毕后,如果需要查看表的定义,可使用如下命令:DESCtablename若要查看更全面的表定义信息,有时就需要通过查看创建表的SQL语句来得到,可用如下命令:MysqlShowcreatetableemp\G;Mysqldescemp④修改数据表对于已经创建好的表,经常需要做一些结构上的改变,对于表结构的修改,一般都是用altertable语句;在mysql数据库中,常见的操作有:使记录按字段排列修改字段类型增加字段删除字段字段改名修改字段排列顺序更改表名修改字段类型语法格式:ALTERTABLEtablenameMODIFYcolumn_dedinition[first|aftercol_name]例如修改表emp的ename字段定义,将varchar(10)改为varchar(20)Mysqlaltertableempmodifyenamevarchar(20);Mysqldescemp;修改成功后的显示:增加字段语法格式:ALTERTABLEtablenameADDCOLUMNcolumn_dedinition[first|aftercol_name]例如表emp上新增字段age,类型为int(3);Mysqlaltertableempaddcolumnageint(3);Mysqldescemp;删除字段语法格式:ALTERTABLEtablenameDROPCOLUMNcolumn_name例如表emp上删除字段age;Mysqlaltertableempdropcolumnage;Mysqldescemp;字段改名语法格式:ALTERTABLEtablenameCHANGE[COLUMN]column_oldnamecolumn_definition[first|aftercol_name]例如将表emp上字段sal改名为sal1,同时修改类型为int(4);Mysqlaltertableempchangesalsal1int(4);运行显示修改字段排列顺序前面介绍字段增加和修改语法(ADD/CHANGE/MODIFY)中,都有一个可选项[first|aftercol_name],这个选项用来修改字段在表中的位置,默认ADD增加的新字段加在表的最后位置;例如将表emp上新增字段birth加在ename字段后;Mysqlaltertableempaddbirthdateafterename;更改表名语法格式:ALTERTABLEtablenameRENAME[TO]newtable_name例如将表emp表名更改为emp1;Mysqlaltertableemprenameemp1;修改数据表语法格式为ALTERTABLEtablename|MODIFYcolumn_dedinition[first|aftercol_name]|ADDCOLUMNcolumn_dedinition[first|aftercol_name]|DROPCOLUMNcolumn_name|CHANGE[COLUMN]column_oldnamecolumn_definition[first|aftercol_name]|RENAME[TO]newtable_name3)DML语句DML操作是指对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select),是开发人员日常使用最频繁的操作;插入记录更新记录删除查询①插入记录语法格式:INSERTINTOtablename[field1,field2,……fieldn]VALUES(value1,value2,……valuen)也可以不指定字段名称,但是values后面的顺序应和字段的排列顺序一致;在mysql中,insert语句可以一次性插入多条记录;插入多条记录语法:INSERTINTOtablename[field1,field2,……fieldn]VALUES(record1_value1,……record1_valuen),(record2_value1,……record2_valuen),……(recordn_value1,……recordn_valuen);例如对表emp插入记录:ename为zzx1,hiredate为2000-01-01,sal为2000;Mysqlinsertintoempvalues(’zzx1’,null,’2000-01-01’,2000);例如对表dept一次插入两条记录;Mysqlinsertintodeptvalues(5,’dept5’),(6,’dept6’);②更新记录语法格式:UPDATEtablenameSETfield1=value1,field2=value2,……valuen[WHEREcondition]例如将表emp中的ename为‘lisa’的薪水更改为4000;Mysqlupdateempsetsal=4000whereename=‘lisa’;在mysql中,update命令可以同时更新多个表中数据,语法如下:UPDATEt1,t2,……tnSETt1.field1=expr1,……tn.field1=exprn[WHEREcondition]例如:同时更新表emp中的字段sal和表dept中的字段deptname;Mysqlupdateempe,deptdsete.sal=e.sal*d.deptno,d.deptname=e.enameWheree.deptno=d.deptno;③删除记录语法格式:DELETEFROMtablename[WHEREcondition]例如将表emp中的ename为‘dony’的记录全部删除;Mysqldeletefromempwhereename=‘dony’;在mysql中,一次可同时删除多个表中数据,语法如下:DELETEt1,t2,……tnFROMt1,t2,……tn[WHEREcondition]例将emp和dept中deptno为3的记录全部删除;Mysqldeletee,dfromempe,deptdwheree.deptno=d.deptnoande.deptno=3④查询记录数据插入到数据库中后,就可以用SELETE命令进行各式各样的查询,使得输出结果符合用户的要求;简单语法格式:SELETE*FR
本文标题:MYSQL基础教程总和
链接地址:https://www.777doc.com/doc-3613998 .html