mqsql传智播客
- 格式:pdf
- 大小:537.07 KB
- 文档页数:13
主讲教师:传智.神龙教主传智播客PHP学院发布目录1.1回顾重点 (4)1.2数据库简介 (4)1.3数据库的发展史 (5)1.3.1层次模型 (5)1.3.2网状模型 (6)1.3.3关系模型 (6)1.4Sql语句简介 (7)1.5连接数据库 (8)1.6退出数据库 (9)1.7数据库操作 (10)1.7.1创建数据库 (10)1.7.2查询数据库 (11)1.7.3显示数据库的创建语句 (11)1.7.4更改数据库 (11)1.7.5删除数据库 (12)1.7.6选择数据库 (12)1.8数据表的操作 (13)1.8.1几个概念 (13)1.8.2创建表 (13)第页传智.神龙教主21.8.3数据类型 (13)1.8.4例题:创建一个简单的表 (15)1.8.5查看所有表 (15)1.8.6显示创建表的SQL语句 (15)1.8.7显示表结构 (16)1.8.8删除表 (16)1.8.9创建复杂的表 (17)1.9数据操作 (17)1.9.1插入数据(增) (17)1.9.2修改数据(改) (18)1.9.3删除数据(删) (18)1.9.4查询数据(查) (18)1.10运算符 (20)1.10.1比较运算符 (20)1.10.2逻辑运算符 (21)1.11聚合函数 (21)第页传智.神龙教主4 1.1 回顾重点1、 elseif 和else if 的区别这两个结果都是一样的,elseif 是多分支语句,else if 是if 的嵌套语句2、 在一个循环N 次for 循环中,初始值执行几次?条件判断几次?增量执行几次? 初始值:1次 条件:N+1次 增量:N 次3、 访问全局变量用$GLOBALS1.2 数据库简介数据库是存放数组的仓库,数据不是直接放到数据库中,数据库中放的是表,表中存放的是数据。
1.3 数据库的发展史❑萌芽阶段——文件系统❑使用磁盘文件来存储数据❑初级阶段——第一代数据库❑出现了网状模型、层次模型的数据库❑中级阶段——第二代数据库❑关系型数据库和结构化查询语言❑高级阶段——新一代数据库❑“关系-对象”型数据库1.3.1层次模型层次模型是一种导航结构,优点:分类管理,如果查询同一类的数据是很方便的。
传智播客测试题答案传智播客是一家致力于IT培训的机构,通过提供高质量的教育资源和培训课程,为学员们提升技能、拓展职业发展空间。
在传智播客的培训过程中,学员们会遇到各种各样的测试题,这些测试题通常用来评估学员对知识的掌握程度和能力的发展。
本文将回答一些常见的传智播客测试题,以帮助学员们更好地准备考试并提高成绩。
1. 什么是Java?Java是一种高级编程语言,它的特点是跨平台、面向对象和安全可靠。
Java可以在不同的操作系统和硬件平台上运行,可以用于开发各种应用程序,包括桌面应用程序、移动应用程序和网页应用程序等。
2. 什么是面向对象编程(OOP)?面向对象编程是一种程序设计范型,它将现实世界中的事物抽象成对象,并通过定义对象之间的关系和交互来实现程序的设计和开发。
面向对象编程具有封装、继承和多态性等特点,能够提高程序的可维护性和复用性。
3. 什么是类和对象?类是面向对象编程中的基本概念,它是一种抽象数据类型的实现。
类定义了对象的属性和方法,描述了对象的特征和行为。
对象是类的实例化过程,根据类的定义创建的具体实体。
对象具有类所定义的属性和方法,可以通过对象来访问和操作类中的数据和行为。
4. 什么是构造方法和析构方法?构造方法是一种特殊的方法,用于创建对象时进行初始化操作。
构造方法与类同名,没有返回类型,并且可以带有参数。
当创建对象时,系统会自动调用该类的构造方法,完成对象的初始化过程。
析构方法是一种特殊的方法,用于释放对象所占用的资源。
析构方法与类同名,以“~”开头,没有参数和返回类型。
当对象不再被使用时,系统会自动调用该对象的析构方法,进行资源的释放。
5. 什么是异常处理?异常处理是一种机制,用于处理在程序执行过程中发生的错误和异常情况。
异常可以是程序错误、用户错误或其他意外情况。
通过使用异常处理机制,可以使程序在出现异常时不被中断,而是继续执行或采取其他合适的处理方式。
6. 什么是数据库?数据库是一种用于存储和管理数据的系统。
第二章1. 注册驱动方法(1、DriverManager.registerDriver( new com.mysql.jdbc.Driver(;(2、System.setProperty(“jdbc.drivers”,” com.mysql.jdbc.Driver(可以用:注册多个”;(3、Class.forName(” com.mysql.jdbc.Driver”; //推荐方式2. 建立连接Connection conn =DriverManager.getConnection(“jdbc:mysql://localhost:3306/jdbc”,”root”,””;url格式:JDBC: 子协议:子名称//主机名:端口/数据库名3. 创建语句Statement st = conn.createStatement(;4. 执行语句ResultSet rs = st.executeQuery(“select * from user”; //查询Int i =St.executeUpdate(sql; //更新、插入、删除,返回受影响行数5. 处理结果While(Rs.next({System.out.println(rs.getObject(1 + “\t” + rs.getObject(2;}6. 释放资源Rs.close(;St.close(;Conn.close(;“’ or 1 or ‘” sql注入,这样用这个来登陆也可以成功。
String sql = “select id from user where name =?”PreparedStatement ps = conn.prepareStatement(sql;Ps.setString( 1 , name ; //这样不会产生sql注入问题。
PreparedStatement效率比Statement高10 、Date使用 java.sql.Date是java.util.Date的子类11、 clob大文本类型MySQL为TEXT类型读取:Clob clob = rs.getClob(1;Reader reader = clob.getCharacterStream(;File fie = new File(“text.java”;Writer writer = new BufferedWriter(new FileWriter(file; Char[] buff = new char[1024];For(int i=0;(i=reader.read(buff>0; {writer.write(buff,0,i;}writer.close(;reader.close(;11、大二进制类型blobSQL Server 称Image MySQL称BLOB Reader处理字符流 InputStream处理字节流读取:24、、、、、、创建存储过程使用存储过程返回插入的主键自己编写代码返回主键25、批处理26、可滚动的结果集27、可更新的结果集31、反射技术。
传智播客:作业PHP数据库-如何实现站点统计作业:如何实现站点统计?复习:数据库基础知识: 关系型数据库(磁盘)和非关系型数据库(内存)关系型数据库: 建立在关系模型上的数据库数据结构: 二维表(比较浪费空间)操作数据的指令集合: SQL(DDL,DML[DQL]和DCL)完整性约束: 表内和表之间(实体)Mysql关系型数据库: c/s结构软件(连接认证, 发送SQL指令, 服务器处理指令返回结果,客户端接收结果解析结果)Mysql服务端对象: DBMS -> Database -> Table -> fieldsSQL基本操作: 库操作, 表操作(字段)和数据操作字符集问题: 中文数据问题改变服务器接收数据的字符集: character_set_client改变服务器返回数据的字符集: character_set_results快捷方式: set names 字符集(三件事情)web乱码问题: 浏览器解析, PHP处理(本地文件), 数据库处理校对集问题: 比较规则: _bin, _cs和_ci, 利用排序(order by)算法: 快速排序(递归)--default-character-set=latin1 —latin1一个字符对应一个字节作业: 站点统计1.将用户的访问信息记录到文件中: 独占一行, 记录IP地址2.所有的信息都是通过文件中记录的内容来计算出来: 读取整个文件: 一行代表访问的一次: 使用file函数读取.3.总的访问次数出来: 就是总行数,就是读取的数组的总记录数4.求出当前用户的访问次数: 当前用户的IP在数组中出现的次数5.总共有多少个用户访问过: 遍历当前所有的访问用户信息, 另外使用一个数组保存: 如果当前ip在数组中存在,那么不加入,否则加入: 最后统计新数组即可.6.求出当前用户是第几位访问者: 只要判断当前IP在独立用户数数组中出现的位置即可。
传智播客:PHP数据库00-基础知识数据库课程体系在PHP阶段,将数据库分为三个阶段:基础阶段:mysql数据库的基本操作(增删改查, 以及一些高级操作(视图, 触发器,函数,存储过程等, 和PHP操作mysql数据库优化阶段: 如何提高数据库效率, 如索引, 分表等部署阶段: 如何搭建真实的环境系统, 如服务器集群, 负载均衡数据库基础1. 什么是数据库?数据库: database, 存储数据的仓库数据库: 高效的存储和处理数据的介质(介质主要是两种: 磁盘和内存2. 数据库的分类?数据库基于存储介质的不同: 进行了分类,分为两类: 关系型数据库(SQL和非关系型数据库(NoSQL: Not Only SQL, 不是关系型的数据库都叫做非关系型数据库3. 不同的数据库阵营中的产品有哪些?关系型数据库大型: Oracle, DB2中型: SQL-SERVER, Mysql等小型: access等非关系型数据库: memcached, mongodb, redis(同步到磁盘4. 两种数据库阵营的区别?关系型数据库: 安全(保存磁盘基本不可能丢失, 容易理解, 比较浪费空间(二维表非关系型数据库: 效率高, 不安全(断电丢失关系型数据库1. 什么是关系型数据库?关系型数据库: 是一种建立在关系模型(数学模型上的数据库.关系模型: 一种所谓建立在关系上的模型. 关系模型包含三个方面:数据结构: 数据存储的问题, 二维表(有行和列操作指令集合: 所有SQL语句完整性约束: 表内数据约束(字段与字段, 表与表之间约束(外键2. 关系型数据库的设计?关系型数据库: 从需要存储的数据需求中分析, 如果是一类数据(实体应该设计成一张二维表: 表是由表头(字段名: 用来规定数据的名字和数据部分组成(实际存储的数据单元二维表: 行和列表头字段名1 字段名2数据单元数据1 数据2以实际案例来进行处理: 分析一个教学系统, 讲师负责教学, 教学生, 在教室教学生.①找出系统中所存在的实体: 讲师表, 学生表, 班级表②找出实体中应该存在的数据信息讲师: 姓名,性别,年龄,工资学生: 姓名,性别,学号,学科班级: 班级名字, 教室编号关系型数据库: 维护实体内部, 实体与实体之间的联系.实体内部联系: 每个学生都有姓名,性别, 学号,学科信息姓名性别学号学科年龄陈明男Itcast0001 PHP 20陈晶晶女Itcast0002 PHP王威Itcast0003 UI第二行的所有字段, 都是在描述陈明这个学生(内部联系; 第二列只能放性别(内部约束关系型数据库的特点之一: 如果表中对应的某个字段没有值(数据, 但是系统依然要分配空间: 关系型数据库比较浪费空间实体与实体之间的联系: 每个学生肯定属于某个班级, 每个班级一定有多个学生(一对多学生表姓名性别学号学科年龄陈明男Itcast0001 PHP 20陈晶晶女Itcast0002 PHP王威Itcast0003 UI班级表班级名称教室编号PHP0810 B205PHP0710 A203解决方案: 在学生表中增加一个班级字段来指向班级(必须能够唯一的找到一个班级信息姓名性别学号学科年龄班级名称陈明男Itcast0001 PHP 20 PHP0810陈晶晶女Itcast0002 PHP PHP0810王威Itcast0003 UI UI0810学生实体与班级实体的关联关系: 实体与实体之间的关系关键字说明数据库: database数据库系统: DBS(Database System: 是一种虚拟系统, 将多种内容关联起来的称呼DBS = DBMS + DBDBMS: Database Management System, 数据库管理系统, 专门管理数据库DBA: Database Administrator,数据库管理员行/记录: row/record, 本质是一个东西: 都是指表中的一行(一条记录: 行是从结构角度出发,记录是从数据角度出发列/字段: column/field, 本质是一个东西SQLSQL: Structured Query Language, 结构化查询语言(数据以查询为主: 99%是在进行查询操作SQL分为三个部分DDL: Data Definition Language, 数据定义语言, 用来维护存储数据的结构(数据库,表, 代表指令: create, drop, alter等DML: Data Manipulation Language, 数据操作语言, 用来对数据进行操作(数据表中的内容, 代表指令: insert, delete,update等: 其中DML内部又单独进行了一个分类: DQL(Data Query Language: 数据查询语言, 如selectDCL: Data Control Language, 数据控制语言, 主要是负责权限管理(用户, 代表指令: grant,revoke等SQL是关系型数据库的操作指令, SQL是一种约束,但不强制(类似W3C: 不同的数据库产品(如Oracle,mysql可能内部会有一些细微的区别.Mysql数据库Mysql数据库是一种c/s结构的软件: 客户端/服务端, 若想访问服务器必须通过客户端(服务器一直运行, 客户端在需要使用的时候运行.交互方式1. 客户单连接认证: 连接服务器, 认证身份: mysql.exe -hPup2. 客户端发送SQL指令3. 服务器接收SQL指令: 处理SQL指令: 返回操作结果4. 客户端接收结果: 显示结果5. 断开连接(释放资源: 服务器并发限制: exit/quit/\qMysql服务器对象没有办法完全了解服务器内部的内容: 只能粗略的去分析数据库服务器的内部的结构.将mysql服务器内部对象分成了四层: 系统(DBMS -> 数据库(DB -> 数据表(Table -> 字段(field。
传智播客:PHP数据库01- SQL三类操作基本操作: CRUD将SQL的基本操作根据操作对象进行分类,分为三类: 库操作, 表操作(字段), 数据操作库操作对数据库的增删改查.新增数据库基本语法Create database 数据库名字[库选项];库选项: 用来约束数据库, 分为两个选项字符集设定: charset/character set 具体字符集(数据存储的编码格式): 常用字符集: GBK 和UTF8校对集设定: collate 具体校对集(数据比较的规则)其中: 数据库名字不能用关键字(已经被使用的字符)或者保留字(将来可能会用到的)如果非要使用关键字或者保留字,那么必须使用反引号(esc键下面的键在英文状态下的输出:`)中文数据库是可以的,但是有前提条件: 保证服务器能够识别(建议不用)当创建数据库的SQL语句执行之后,发生了什么?1.在数据库系统中,增加了对应的数据库信息2.会在保存数据的文件夹下: Data目录,创建一个对应数据库名字的文件夹3.每个数据库下都有一个opt文件: 保存了库选项查看数据库1.查看所有数据库: show databases;2.查看指定部分的数据库: 模糊查询Show databases like ‘pattern’; -- pattern是匹配模式%: 表示匹配多个字符_: 表示匹配单个字符3.查看数据库的创建语句: show create database 数据库名字;更新数据库数据库名字不可以修改.数据库的修改仅限库选项: 字符集和校对集(校对集依赖字符集) Alter database 数据库名字[库选项];Charset/ character set [=] 字符集Collate 校对集删除数据库所有的操作中: 删除是最简单当删除数据库语句执行之后,发生了什么?1.在数据库内部看不到对应的数据库2.在对应的数据库存储的文件夹内: 数据库名字对应的文件夹也被删除(级联删除:里面的数据表全部删除)注意:数据库的删除不是闹着玩的,不要随意删除,应该先进行备份后操作.(删除不可逆)表操作表与字段是密不可分的.新增数据表Create table [if not exists] 表名(字段名字数据类型,字段名字数据类型-- 最后一行不需要逗号)[表选项];If not exists: 如果表名不存在,那么就创建,否则不执行创建代码: 检查功能表选项: 控制表的表现字符集: charset/character set 具体字符集; -- 保证表中数据存储的字符集校对集: collate 具体校对集;存储引擎: engine 具体的存储引擎(innodb和myisam)任何一个表的设计都必须指定数据库.方案1: 显示的指定表所属的数据库Create table 数据库名.表名(); -- 将当前数据表创建到指定的数据库下方案2: 隐式的指定表所属数据库: 先进入到某个数据库环境,然后这样创建的表自动归属到某个指定的数据库.进入数据库环境: use 数据库名字;当创建数据表的SQL指令执行之后,到底发生了什么?1.指定数据库下已经存在对应的表2.在数据库对应的文件夹下,会产生对应表的结构文件(跟存储引擎有关系)查看数据表数据库能查看的方式,表都可以查看.1. 查看所有表: show tables;2.查看部分表: 模糊匹配: show tables like ‘pattern’;3.查看表的创建语句: show create table 表名;4.查看表结构: 查看表中的字段信息Desc/describe/show columns from 表名;修改数据表表本身存在, 还包含字段: 表的修改分为两个部分: 修改表本身和修改字段表本身可以修改: 表名和表选项修改表名: rename table 老表名to 新表名;修改表选项: 字符集,校对集和存储引擎Alter table 表名表选项[=] 值;修改字段字段操作很多: 新增, 修改, 重名, 删除Alter table 表名add [column] 字段名数据类型[列属性] [位置];位置: 字段名可以存放表中的任意位置First: 第一个位置After: 在哪个字段之后: after 字段名; 默认的是在最后一个字段之后修改字段: 修改通常是修改属性或者数据类型Alter table 表名modify 字段名数据类型[属性] [位置];重命名字段Alter table 表名change 旧字段新字段名数据类型[属性] [位置];删除字段Alter table 表名drop 字段名;小心: 如果表中已经存在数据,那么删除字段会清空该字段的所有数据(不可逆)删除数据表Drop table 表名1,表名2...; -- 可以一次性删除多张表当删除数据表的指令执行之后发生了什么?1.在表空间中,没有了指定的表(数据也没有了)2.在数据库对应的文件夹下, 表对应的文件(与存储引擎有关)也会被删除注意: 删除有危险,操作需谨慎(不可逆)数据操作新增数据有两种方案方案1: 给全表字段插入数据, 不需要指定字段列表: 要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致: 凡是非数值数据,都需要使用引号(建议是单引号)包裹Insert into 表名values(值列表)[,(值列表)]; -- 可以一次性插入多条记录方案2: 给部分字段插入数据,需要选定字段列表: 字段列表出现的顺序与字段的顺序无关; 但是值列表的顺序必须与选定的字段的顺序一致.Insert into 表名(字段列表) values (值列表)[,(值列表)];查看数据Select */字段列表from 表名[where条件];查看所有数据查看指定字段,指定条件的数据.Update 表名set 字段= 值[where条件]; -- 建议都有where: 要不是更新全部更新不一定会成功: 如没有真正要更新的数据删除是不可逆的: 谨慎删除Delete from 表名[where条件];。
毕业设计(论文)传智播客网上书城系统设计摘要随着科学技术的发展,网络在人们生活中的应用越来越广泛。
人们越来越想在最短的时间内购买到自己所需的图书。
但书目的繁多,给人们在繁忙的工作生活中的购书带来了很大的麻烦,于是网上购书便成了人们向往的事情。
图书销售系统的开发为人们带来了很大的方便,使他们足不出户就可以轻轻松松地买到自己想要的书,既省时又省力。
有效地缩短了图书流通发行环节,将广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。
它有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。
系统以JSP为主要制作工具,实现了用户注册、登陆、验证身份及书籍的预览查询、对书籍的购买通过购物车实现等功能。
关键词传智播客电子商务网上书城管理信息系统目录中文摘要 (3)英文摘要 (4)目录 (5)第一章绪论 (7)1.1课题背景、目的及意义 (7)1.1.1课题背景 (7)1.1.2课题目的和意义 (7)1.2国内外研究现状 (7)1.2.1 国外的研究现状 (7)1.2.2 国内的研究现状 (8)第二章可行性分析 (8)2.1社会可行性 (8)2.2技术可行性 (8)2.3操作可行性 (8)2.4系统的技术介绍 (9)2.4.2 JQuery (9)2.4.3 MySQL (9)2.4.4 MVC (9)2.4.5 JDBC (10)2.4.6 DBUtils (10)2.4.7 C3P0 (11)2.5系统开发平台及运行环境 (11)2.5.1 系统开发平台 (11)2.5.2 运行环境 (11)第三章需求分析 (11)3.1系统功能模块概述和分析 (11)3.2系统功能模块设计 (12)3.3数据库分析 (13)第四章传智播客网上图书商城前台设计与实现 (17)4.1首页设计 (17)4.2用户模块 (18)4.2.1用户注册 (18)4.2.2用户登录 (19)4.2.3修改当前用户密码 (20)4.2.4退出 (21)4.3图书模块 (21)4.3.1图书列表 (21)4.3.2图书详细 (21)4.3.3高级搜索 (22)4.4购物车 (22)4.4.1添加图书到购物车 (22)4.4.2我的购物车 (23)4.4.3修改条目数量 (23)4.4.4删除条目 (23)4.5订单模块 (23)4.5.1选中条目,准备生成订单 (23)4.5.2生成订单 (24)4.5.3订单列表 (24)4.5.4支付页面 (25)4.5.5订单详细页面 (25)4.5.6订单状态 (26)第五章传智播客网上图书商后台设计与实现 (26)5.1管理员登录 (26)5.2后台主页 (27)5.3分类管理 (27)5.3.1.分类列表 (27)5.3.3.修改分类 (29)5.3.4.删除分类............................................................................................ 错误!未定义书签。
MySQL 数据库1数据库概念(了解)1.1什么是数据库数据库就是用来存储和管理数据的仓库!数据库存储数据的优先:●可存储大量数据;●方便检索;●保持数据的一致性、完整性;●安全,可共享;●通过组合分析,可产生新数据。
数据库具有原子性,数据不可再分割!1.2数据库的发展历程●没有数据库,使用磁盘文件存储数据;●层次结构模型数据库;●网状结构模型数据库;●关系结构模型数据库:使用二维表格来存储数据;●关系-对象模型数据库;MySQL就是关系型数据库!1.3常见数据库●Oracle:甲骨文;●DB2:IBM;●SQL Server:微软;●Sybase:赛尔斯;●MySQL:甲骨文;1.4理解数据库我们现在所说的数据库泛指关“系型数据库管理系统(RDBMS - Relational database management system)”,即“数据库服务器”。
当我们安装了数据库服务器后,就可以在数据库服务器中创建数据库,每个数据库中还可以包含多张表。
数据库表就是一个多行多列的表格。
在创建表时,需要指定表的列数,以及列名称,列类型等信息。
而不用指定表格的行数,行数是没有上限的。
下面是tab_student表的结构:当把表格创建好了之后,就可以向表格中添加数据了。
向表格添加数据是以行为单位的!下面是s_student表的记录:s_id s_name s_age s_sexS_1001 zhangSan 23 maleS_1002 liSi 32 femaleS_1003 wangWu 44 male大家要学会区分什么是表结构,什么是表记录。
1.5应用程序与数据库应用程序使用数据库完成对数据的存储!2安装MySQL数据库2.1安装MySQL参考:MySQL安装图解.doc2.2MySQL目录结构MySQL的数据存储目录为data,data目录通常在C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data位置。
某本科高校
2019至2020学年第一学期
课程授课计划
课程名称:开源程序
课程代码: 062421340 授课班级: 17级高职计算机网络技术1、2班
主讲教师:
所在部门:电子信息工程学院
制定日期: 2019年 8月 20 日
本课程教学目的及主要要求:
本课程是计算机网络技术专业必修的一门专业核心课程。
主要目的是使学生掌握使用PHP开发动态网站的技术,掌握WEB应用程序开发的特点和常用的实现方法,具备能够针对性某一行业进行网站开发、对开源代码进行二次开发的能力,具备一定的独立网站编程能力。
主要要求:学生认真听课,按时完成课堂实践和作业;认真总结网站开发与数据库开发技巧,熟练掌握动态网站的开发技术。
教材全称:《PHP+MySQL网站开发项目式教程》编著者:传智播客
出版社:人民邮电出版社出版时间:2016年8月;第1次
主要参考书目:
(1)《PHP网站开发实例教程》(编著者:传智播客)(2)《PHP从入门到精通》(编著者:明日科技)(3)《HTML5+CSS3网站设计基础教程》(编著者:传智播客)本课程共 72 学时 3.5 学分,具体安排见下表:
备注:(含实验器材及设备、实训场所、实习地点等情况说明)由于本课程的实践性比较强,所以将本课程上课地点定为网站开发实验室,学生在学中做、做中学。
实验室安装Windows、Apache、MySQL、PHP 等软件。
第 1 页
注:第5周为放假周,课程按照前错后移的方式进行补课。
数据库服务器——>N多库——>N张表——>行与列1先建立数据库服务器2建立一个库3再建表Mysqld 服务器一、连接数据库1 连接数据库所需要的工具:Mysql作为数据库服务器来运行,任何满足mysql通信规范的软件都可以作为客户端来连接服务器常用的客户端:mysql front navcat,基于web的phpMyAdmin,还有mysql自带的命令行客户端2 以命令行连接为例:注意:如果在命令行提示下出现如下提示:则说明:没有配置环境变量,导致系统找不到mysql.exe解决:1.配置环境变量,制定mysql\bin目录2.每次进入到mysql\bin目录,再运行mysql3 如何连接服务器服务器地址(可用ip,域名):端口(3306)用户名密码Mysql –h localhost –uUserName –pPassWd-h 如果不写,则默认连localhostMysql –h localhost –u root –p 回车输入密码Mysql –uroot –p123456表格(多行多列,二位结构)通讯录表:薪资登记表:多表成库,表存于库下面,一个库下边可以有多个表库存在于数据库服务器,一个服务器下面可以有多个库入门语句:1 查看当前服务器下面,有哪些库(database)show databases;2 创建一个数据库create database DBName[字符集声明,整理声明];3 删除数据库drop database test2;4 修改数据库(只能修改字符集和整理集,简单,先自己看)能否修改数据库的名字?答不能!5 选择数据库在进行表,行的相关操作时,要先选择数据库use DBName; //选择相应的数据库mysql> use shop;Database changed6 如何查看一库下面的所有表show tables;7 如何删除一张表drop table tableName;8 如何修改表名rename table oldName(旧表名) to newName(新表名);9 查看表结构desc tableName; //查看表结构10 最简单的建表结构create table 表名(列1名称列1类型,列2名称列2类型(最后一列前不要加‘,’));这里先记住两种最常用列类型int(整形),varchar(字符串)实际操作:创建一张学籍表,有2个字段,id,name,分别代表学号和姓名create table stu(id int,name varchar(10));11 解决字符集问题:默认建表一般用utf8 ,而我们在windows下窗口时gbk的,因此,需要声明字符集。
数据库入门MySql数据库介绍什么是数据库?就是一个文件系统,通过标准SQL语言操作文件系统中数据---- 用来存放软件系统的数据什么是关系化数据库?保存关系数据模型Oracle 甲骨文公司,专门数据库厂商收购BEA 、SUN、MySQL ------- 收费大型数据库,用于任何系统任何平台MySQL 早期开源免费数据库产品,LAMP组合Linux + Apache + MySQL + PHP 完全开源免费,自从mysql被oracle收购后,从6.0开始出现收费版本DB2 IBM数据库产品大型收费数据库websphere服务器一起使用SYBASE 中等规模数据库收费PowerDesigner 数据库建模工具SQL Server 微软公司数据库产品收费中等规模数据库,操作系统要求是windows 结合.net 一起使用Java开发者主要使用MySQL 、Oracle、DB2 三种数据库Mysql安装与配置卸载在mysql安装目录my.inidatadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server5.5/Data/"1) 在控制面板中卸载MySQL2) 删除mysql 安装目录3) 删除MySQL数据文件目录2、安装选择自定义安装MySQL Server 默认位置c:\program files\mysql目录Server Data File 数据文件C:\Documents and Settings\All Users\Application Data\MySQL 目录安装后进行mysql配置1) 配置mysql 默认字符集默认latin1 等价于ISO-8859-1 改为utf82) Include Bin Directory in Window Path 将mysql/bin 目录配置环境变量path ---- 勾选3) 输入超级管理root 密码测试mysql是否安装成功启动cmd窗口输入mysql -u root -p 回车输入密码root ==== 出现mysql> 安装成功3、重置root密码1) 停止mysql服务器运行输入services.msc 停止mysql服务2) 在cmd下输入mysqld --skip-grant-tables 启动服务器光标不动(不要关闭该窗口)3) 新打开cmd 输入mysql -u root -p 不需要密码use mysql;update user set password=password('abc') WHERE User='root';4) 关闭两个cmd窗口在任务管理器结束mysqld 进程5) 在服务管理页面重启mysql 服务密码修改完成SQL语言Sql分类●DDL (数据定义问题)•数据定义语言- Data Definition Language•用来定义数据库的对象,如数据表、视图、索引等●DML (数据操纵问题)•数据处理语言- Data Manipulation Language•在数据库表中更新,增加和删除记录•如update,insert,delete●DCL (数据控制问题)•数据控制语言–Data Control Language•指用于设置用户权限和控制事务语句•如grant,revoke,if…else,while,begin transaction●DQL (数据查询问题)•数据查询语言–Data Query Language•Select数据库操作语句1、创建数据库会为每个软件系统创建单独数据库语法:create database 数据库名称; (创建数据库采用数据库服务器默认字符集)复杂写法create database 数据库名称character set 字符集collate 比较规则;创建一个名称为mydb1的数据库。
create database mydb1;创建一个使用utf8字符集的mydb2数据库。
create database mydb2 character set utf8;创建一个使用utf8字符集,并带校对规则的mydb3数据库。
create database mydb3 character set utf8 collate utf8_bin;补充:每次创建一个数据库在数据存放目录中生成一个文件夹,每个文件夹中存在db.opt 存放默认字符集和校对规则datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"2、查询数据库show databases; ----- 查看所有数据库show create database 数据库名; ------ 查看数据编码集3、删除数据库语法:drop database 数据库名称;查看当前数据库服务器中的所有数据库show databases;查看前面创建的mydb2数据库的定义信息show create database mydb2;删除前面创建的mydb1数据库drop database mydb1;4、修改数据库编码集语法:alter database 数据库名称character set 字符集collate 比较规则;修改mydb2字符集为gbk; alter database mydb2 character set gbk;切换当前使用数据库:use 数据库名称查看当前正在使用数据库: select database();数据表结构SQL语句1、数据表的创建语法:create table 表名(列名类型(长度),列名类型(长度)... );一个数据表可以存在很多列,每列具有类型和长度* 创建表时没有指定字符集,将采用数据库默认字符集* 创建表之前必须使用use db 语法指定操作数据库创建day12 数据库create database day12;切换到day12 数据库use day12;例如:User {id intname stringpassword stringbirthday date}一个java类对应数据库中一张数据表,一个java对象对应数据表中一条数据记录MySQL 常用数据类型java 中String char ----- mysql 中字符串型char varchar* char是定长varchar是变长例如:char(8) 保存lisi,因为lisi 只有四个字符,所有会补充四个空格,成为8个字符存入char(8)中,如果有varchar(8) 自动根据存放内容改变长度java 中byte short int long float double ----- mysql 中数值类型TINYINT 、SMALLINT、INT、BIGINT、FLOA T、DOUBLEjava 中boolean ---- mysql 逻辑性bit 存放一位数值0 或者1java 中Date ----- mysql 日期类型date (只有日期) time(只有时间) datetime(日期时间都有) timestamp(日期时间都有)* datetime和timestamp 表现形式上完全相同,区别就在于timestamp 在数据库可以自定更新(当前时间)java中大数据类型inputStream 二进制文件Reader 文本文件------- mysql 大数据类型blob(存放大二进制数据) text(存放大的文本文件)* tinyblob tinytext 255字节blob text 64KB mediumblob mediumtext 16MB longblob longtext 4GB例如:User {id int ------ mysql intname string ------ mysql varcharpassword string ----- mysql varcharbirthday date ----- mysql date}员工表建表语句create table employee (id int,name varchar(20),gender varchar(20),birthday date,entry_date date,job varchar(30),salary double,resume longtext);查看表结构desc 表名;*** 创建数据表时,只有字符串类型必须写长度,而其他类型都有默认长度2、单表创建时约束约束用来保证数据有效性和完整性主键约束primary key : 信息记录某个字段可以唯一区分其他信息记录,这个字段就可以是主键(唯一非空)唯一约束unique : 该字段的值不允许重复* 一张表中可以有很多个唯一约束,只能有一个(两个)作为主键约束非空约束not null :该字段的值不能为空create table employee2 (id int primary key auto_increment,name varchar(20) unique not null,gender varchar(20) not null,birthday date not null,entry_date date not null,job varchar(30) not null,salary double not null,resume longtext);* 如果主键约束类型为数值型int bigint ,添加auto_increment 自动增长3、数据表结构修改1) 增加列语法: alter table 表名add 列名类型(长度) 约束;2) 修改现有列类型、长度和约束语法:alter table 表名modify 列名类型(长度) 约束;3) 修改现有列名称语法:alter table 表名change 旧列名新列名类型(长度) 约束;4) 删除现有列语法:alter table 表名drop 列名;5) 修改表名rename table 旧表名to 新表名;* 修改表的字符集:alter table student character set utf8;在上面员工表的基本上增加一个image列。
---- alter table employee add image varchar(100) ; 修改job列,使其长度为60。