您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 投融资/租赁 > MySQL入门到精通
网博课程研发部MySQL入门课程总目标•MYSQL安装及配置•有关数据库的DDL操作•有关数据表的DDL操作•数据库的CRUD操作•索引、视图•事务控制•存储过程、触发器•权限管理•数据的导入、导出目标•数据库介绍•数据库相关的基本概念•MYSQL简介•MYSQL下载、安装及配置•启动和停止MYSQL服务为何使用数据库•存储数据的方法–第一种方法:用大脑记住数据–第二种方法:写在纸上–第三种方法:写在计算机的内存中–第三种方法:写成磁盘文件–……数据库能做什么•存储大量数据,方便检索和访问•保持数据的一致、完整•共享和安全•通过组合分析,产生新的有用信息数据库的发展•萌芽阶段--文件系统–使用磁盘文件来存储数据•初级阶段--第一代数据库–出现了网状模型、层次模型的数据库•中级阶段--第二代数据库–关系型数据库和结构化查询语言•高级阶段--新一代数据库–“关系-对象”型数据库当前数据库产品•Oracle--甲骨文•DB2--IBM•SQLServer--微软•Sybase--赛贝斯•MySQL--甲骨文•…数据库和应用程序数据库的基本概念•概念模型:基于客户的想法和观点所形成的认识和抽象–实体(Entity):客观存在的、可以被描述的事物。•如:员工、部门–属性(Attribute):用于描述实体所具有的特性或特征。•如:使用编号、姓名、部门、工资等属性来描述员工的特征–关系(Relationship):实体之间的关系。•如:部门和员工之间有一对多的关系数据库的基本概念•数据模型:也叫关系模型,是实体、属性、关系在数据库中的具体体现–关系数据库:用于存储各种类型数据的“仓库”,是二维表的集合。–表:实体的映射–行和列:行代表一个具体的实体的数据。也叫一条记录。列是属性的映射,用于描述实体的。–主键和外键:•主键:是指定该列的值可以唯一的标识该条记录•外键:是指定该行记录从属于主表中的一条记录,主要用于保证参照完整性。数据库的基本概念•数据库管理系统(DBMS)MySQL是什么•MySQL是最流行的开放源码SQL数据库管理系统–MySQL是一种关系数据库管理系统–MySQL软件是一种开放源码软件–MySQL数据库服务器具有快速、可靠和易于使用的特点–MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中•MySQL数据库软件是一种客户端/服务器系统,由支持MySQL是什么•不同后端的1个多线程SQL服务器,数种不同的客户端程序和库,众多管理工具和广泛的应用编程接口API组成。–有大量可用的共享MySQL软件MySQL体系结构MySQL的发展•MySQL最早起始于1979,开始是Michael.Monty.Widenius为瑞典的TcX公司创建的UNIREG数据库工具•1996年5月MySQL1.0•1996年10月MySQL3.11.1以用于Linux和Solaris系统的二进制分发形式发布•2003年3月MySQL4.0•2004年6月MySQL4.1•2005年10月MySQL5.0MySQL的发展•2008年1月16日Sun出价10亿美元收购了MySQL•2011年MySQL5.5.21MySQL的特性•内部构件和可移植性–使用C和C++编写,能够工作在众多不同的平台上•列类型–众多列类型,定长和可变长度记录•语句和函数•安全–允许基于主机的验证•可伸缩性和限制MySQL的特性•连接性–在任何平台上,客户端可使用TCP/IP协议连接到MySQL服务器•本地化•客户端和工具著名的MySQL用户•Google–Google和MySQL建立了协议,它所有的数据库都建立在MySQL之上–其收购的世界最大的视频网站YouTube也采用了MySQL数据库•雅虎财经网站的数据库•维基百科•腾讯–大家所熟知的腾讯QQ就是采用Linux操作系统+MySQL数据库平台MySQL数据库下载•帮助手册下载•安装•见操作演示。。。启动和停止MySQL服务•以Windows服务方式启动•从命令行启动服务器–在命令行窗口下切换到MySQL安装目录\bin目录下–启动:•Mysqld-nt--console-服务器在前台运行,需另开一个控制台窗口来运行客户端程序•Netstartmysql–停止:•Mysqladmin-uroot–pshutdown总结•数据库介绍•数据库相关概念•MySQL简介•MySQL下载、安装和配置•启动和停止MySQL服务MYSQL数据库表管理目标•数据库管理•SQL简介•有关数据库的DDL操作•数据表的列类型•有关数据表的DDL操作•帮助的使用客户端程序连接与断开服务器•连接:–Mysql–hMySQL服务器地址-u用户名-p•-h(hostname)MySQL数据库主机地址•-u(username)登录MySQL数据库服务器主机的用户•-p(password)用户登陆MySQL服务器的密码–本地登陆用:mysql–u用户名–p•断开:–在mysql提示符下输入quit(或\q)随时退出SQL语句概述•SQL:结构化查询语言(StructuredQueryLanguage)–一般读作[‘si:kju:]或”ess-que-el”(字母”S”、”Q”、”L”的发音)•在关系型数据库上执行数据操作、数据检索以及数据维护的标准语言。SQL分类•在MySQL数据库中,SQL语句主要可以划分为以下几类:–DDL(DataDefinitionLanguage):数据定义语言,定义对数据库对象(库、表、列、索引)的操作•Create、Drop、Alter、Rename等–DML(DataManipulationLanguage):数据操作语言,定义对数据库记录的操作•Insert、Delete、Update、Select、Truncate等SQL分类–DCL(DataControlLanguage):数据控制语言,定义对数据库、表、字段、用户的访问权限和安全级别•Grant、Revoke等–TransactionControl:事务控制•StartTransaction、Commit、RollBack、Savepoint等SHOWDATABASES•语法:–SHOWDATABASES[Likewild];•如果使用likewild部分,wild字符串可以是一个使用SQL的’’%”和”_”通配符的字符串。•功能:列出在MySQL服务器主机上的数据库•MySQL自带的数据库–Information_schema:主要存储了系统中的一些数据库对象信息:如用户表信息、列信息、权限信息、字符集信息、分区信息等SHOWDATABASES•MySQL自带的数据库:–mysql:存储了系统的用户权限信息及帮助信息–test:系统自动创建的测试数据库,任何用户都可以使用。SQL语句语法•SQL语句可单行或多行书写,以”;”结尾•用空格和缩进来提高语句的可读性。•关键词不能跨多行或简写,大小写不敏感•子句通常位于独立行,便于编辑,提高可读性–例如:select*fromemp;SQL语句语法•注释:–SQL标准•从/*多行注释*/•从’--’到行尾。注意:第2个破折号后面至少跟一个空格符(例如空格、tab、换行符等等)。该语法与标准SQL注释语法稍有不同。–MySQL•从”#”字符到行尾CreateDataBase•语法:–CreateDataBase[ifnotexists]数据库名;•功能:用给定的名字创建一个数据库•前提:需要获得数据库Create权限•如果数据库已经存在,发生一个错误DropDataBase•语法:–DropDataBase[ifexists]数据库名;•功能:删除数据库中的所有表和数据库•前提:需要获得数据库Drop权限•要小心使用这个命令用USE选用数据库•语法:–Use数据库名;•功能:把指定数据库作为默认(当前)数据库使用,用于后续语句。列类型•MySQL支持多种列类型–数值类型–日期/时间类型–字符串(字符)类型数值数据类型—整数数值数据类型—浮点数•注:M表示最大显示宽度;D表示小数点后面的位数。定点数DECIMAL在内部以字符串形式存放,适合于表示货币等精度高的数据。一定要指定M和D。日期/时间类型•注:TIMESTAMP跟时区相关,插入日期时,会先转换为本地时区后存放,而取出时,也会将日期转换为本地时区后显示。字符串类型SHOW•语法:–Showtables[from数据库名][likewild]•功能:显示当前数据库中已有的数据表的信息DESCRIBE•语法:–DESCRIBE|DESC表名[列名]•功能:查看数据表中各列的信息•用”showcreatetable表名;”可以查看更全面的表定义信息用Createtable创建数据表•简单语法:–Createtable表名(列名列类型,列名列类型,…..);–功能:在当前数据库中创建一张表–前提:必须拥有表Create权限关于识别符•数据库名、表名、索引名、列名和别名是识别符:•操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性–Windows系统大小写不敏感,Linux、Unix系统大小写敏感建表示例•Createtabledept(dept_idint,namevarchar(20));•Createtableemp(emp_idint,namevarchar(20),genderchar,addressvarchar(100));删除数据表•语法:–Droptable[ifexists]表名;•功能:删除指定的表用AlterTable语句修改表的结构•修改列类型–Altertable表名modify列名列类型;•增加列–Altertable表名add列名列类型;•删除列–Altertable表名drop列名;用AlterTable语句修改表的结构•列改名–Altertable表名change旧列名新列名列类型;•更改表名–Altertable表名rename新表名;–Renametable表名to新表名;MySQL帮助的使用•安装自带的文档–安装目录\Docs\manual.chm•命令行帮助–?contents显示所有可供查询的分类–?类别名称如:?Datatypes;–?关键字如:?Createtable;总结•有关数据库的DDL操作–Showdatabases;–Createdatabase数据库名;–Dropdatabase[ifexists]数据库名;–Use数据库名;•有关数据表的DDL操作–Showtables[from数据库名];–Desc表名;–Createtable表名(…..);–Droptable[ifexists]表名;–Altertable表名……;总结•数据表的列类型–数值类型–日期类型–字符串类型•帮助的使用–manual.chm–?作业•有一Blog系统使用的数据库是myblog,现在有几个要求:–创建好数据库Myblog.–根据实际应用情况在myblog中创建好以下两张表•帐号、文章类别•帐号(account)–编号(category_id)、用户名(username)、密码(password)、邮箱号(email)、性别(gender)、博客名(title)•通过altertable给此表添加两个字段:昵称(nickname)、头像(headlmg)作业•文章类别表(category)–编号(category_id)、帐户编号(account_id)、类别名(title)、描述(description)、文章数(articleNum)、可访问性(visible)、创建时间(createdTime)常用运算符和函数目标•常用运算符–算术运算符–比较运算符–逻辑运算符•常用函数–字符串函数–数值函数–日期和时间函数–流程函数–其他常用函数算术运算符比较运算符逻辑运算符字符
本文标题:MySQL入门到精通
链接地址:https://www.777doc.com/doc-4462979 .html