ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:109.19KB ,
资源ID:9521762      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9521762.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(jdbc 之 mysql.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

jdbc 之 mysql.docx

1、jdbc 之 mysql mysql 介绍(1) mysql数据库是 瑞典 AB 开发(2) mysql-sun-oracle(3) mysql数据库的特点1 开源2 免费3 跨平台(windows / linux /unix /苹果)4 处理并发性 (13000个)/安全/稳定 5 该数据库 轻(对资源要求不高.) 安装文件 37.7m ,而且对cpu / 内存要求不高. 安装和配置1. 一般说,一台机器装一个mysql.2. 安装和配置过程见 mysql安装图解 mysql使用1. 可以使用window dos 登录到mysql数据库.基本语法在dos 下输入mysql u 用户名 -p密

2、码 特别说明: -p 后面的密码 不要有空格 / 使用该命令的时候,需要配置一下环境变量.2. mysql数据库也提供图形化界面来登录mysql数据库演示:3. 如何在mysql中创建数据库基本语法create database 数据库名 创建一个名称为mydb1的数据库。create database mydb1; 【sql】 创建一个使用utf-8字符集的mydb2数据库。create database mydb2 character set utf8 创建一个使用utf-8字符集,并带校对规则的mydb3数据库create database mydb3 character set utf

3、8 collate utf8_general_ci; mysql的一些常用指令如何查看,创建数据库的指令:show create databse 数据库名; 显示数据库指令 show databases;查看创建数据库的指令show create database 数据名;删除数据库:drop database 数据库名 如何指定使用某个数据库use 数据库名; 如何备份和恢复数据库.mysqldump u 用户名 p密码 数据名 存放路径 该指令,需要在dos控制台下直接执行恢复数据库:1.创建一个数据库 mydb2 ,但是这个数据库目前是空.2.use 数据名3.在mysql 控制台下 使

4、用 source 备份文件路径 创建表基本语法create table 表名 (列名 列的数据类型,.) character set 字符集名称 collate 校对规则 案例:创建一张用户表create table users (id int ,name varchar(64),pwd varchar(64),birthday date) mysql数据类型(重点)1 数值型:1. bit(m) m默认为 1 最大 64案例create table test1 (id bit(1); -/这里显示乱码?2. tinyint unsigned 如果是有符号则表示 -128 到 127 ,如果是

5、无符号 0-255案例create table test3(num tinyint) - -128 到 127create table test4(num tinyint unsigned) 0 - 255 4. smallint samllint 是两个字节表示的.带符号是 负的 2的15次方 到 2的15次方-1 ,无符号 2的16方 -1其它的数值类型,见下图即可6 floatFLOAT(M,D) UNSIGNED 是定长m : 表示有效位d: 表示小数点有几位案例:create table test5( num float);create table test6(num float(5

6、,1);7. double 其用法和float 类似,只是表示的范围更大,也是定长8. numeric(m,d)用于表示小数,或者整数create table test7 (num numeric); /这样其实就是可以存放整数.create table test8 (num numeric(5,2);/这样就可以表示 有效为5,小数点有两位的数2 字串类型一览图:常用的有(1) char(m)m 范围是 0-255, 定长.char(20) 如果你存放 abc 字串,实际在表 abc ;案例:create table test11 (name char(20); 小技巧:mysql 自带的c

7、lient 默认支持 utf8 码,所有我们在添加中文的时候,需要设置让client支持gbk* show variables like char%; /显示关于字符的设置参数* set character_set_client=gbk; /可以存中文* set character_set_results=gbk; /可以看中文(2) varchar(m)m 表示大小 ,范围 0-65535, 变长varchar(20) 如果你存放 abc 字串,实际在表 abc;案例 省略.建议: 如果表的某列长度固定,比如 产品编号.学号. . 而且在 255内,我们应当使用char,如果长度不能取得,或

8、者长度 大于255 小于 65535 则使用varchar(3) text该类型,可以表示更大的字串.3 日期类型(1) date日期 (年-月-日)create table test12(birthday date);对于date 只保存 年-月-日(2) datetime日期时间类型create table test13(hiredate datetime);(3) timestamp邮戳: 该类型可以保存 年-月-日 : 时:分:秒它和datetime 最大的区别是,当你 update 某条记录的时候,该列值,最自动更新create table test14 (name varchar(

9、64) , sal float, hiredate1 timestamp, hiredate2 datetime);建议: 如果不知道该不该用 timestamp ,就不要用. 创建表综合案例字段属性Id整形name字符型sex字符型或bit型brithday日期型Entry_date日期型job字符型Salary小数型resume大文本型create table emp(id int,name varchar(64),sex char(2),birthday date,Entry_date date,job varchar(32),salary float,resume text) 修改表结

10、构-添加新的列alter table 表名 add 列名 数据类型-修改列(列的类型和大小)alter table 表名 modify 列名 新的数据类型-删除某列alter table 表名 drop 列名rename table 原表名 to 新表名alter table 表名 character set 字符集名;alter table user change column name username varchar(20); 案例: 在上面员工表的基本上增加一个image列。alter table emp add image blob; 修改job列,使其长度为60。alter tab

11、le emp modify job varchar(60); 删除sex列。alter table emp drop sex; 表名改为user。rename table emp to user; 修改表的字符集为utf-8alter table user character set utf8; 列名name修改为usernamealter table user change column name username varchar(30);如何显示创建表的指令:show create table 表名; insert语句基本语法:insert into 表名 列名. values (值.);

12、 插入的数据应与字段的数据类型相同。比如:create table test15 (name varchar(64);insert into test15 (name) values(aaa);insert into test15 (name) values(34);create table test16 (age int);insert into test16 (age) values(34);insert into test16 (age) values(aaa);(错)insert into test16 (age) values(111);(虽然ok,但是不是好的写法.) 数据的大小应

13、在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。 在values中列出的数据位置必须与被加入的列的排列位置相对应。create table test17 (id int ,name varchar(64);insert into test17 (id,name) values(3,aaa);insert into test17 (name,id) values(aaa,3); 字符和日期型数据应包含在单引号中。 插入空值,不指定或insert into table value(null) update 语法基本语法:update 表名 set 列名=表达式 . wh

14、ere 条件说明: 如果 where后面没有条件,则相当于对整个表进行操作。 UPDATE语法可以用新值更新原有表行中的各列。 SET子句指示要修改哪些列和要给予哪些值。 WHERE子句指定应更新哪些行。如没有WHERE子句,则更新所有的行。将所有员工薪水修改为5000元。update employee set sal=5000; 将姓名为zs的员工薪水修改为3000元;update employee set sal=3000 where name=zs; 将wu的薪水在原有基础上增加1000元update employee set sal=sa+1000 where name=wu; del

15、ete语句基本语法delele from 表名 where 条件;注意: 如果不使用where子句,将删除表中所有数据。所有要小心使用. Delete语句不能删除某一列的值(可使用update) 使用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table语句。 同insert和update一样,从一个表中删除记录将引起其它表的参照完整性问题,在修改数据库数据时,头脑中应该始终不要忘记这个潜在的问题。 删除表中数据也可使用TRUNCATE TABLE 语句,它和delete有所不同,参看mysql文档。truncate table 表名,可以删除表的记录,速度快,但不能回

16、滚.在mysql中事务的特殊说明:(1) mysql 控制台是默认自动提交事务(dml)(2) 如果我们要在控制台使用事务,应该这样 set autocommit=false; savepoint 保存点 /操作. rollback to 保存点. select 语句基本语法select 列名., 列(可以运行) from 表名 where 条件;注意事项: Select 指定查询哪些列的数据。 column指定列名。 *号代表查询所有列。select * from 表名; From指定查询哪张表。 DISTINCT可选,指显示结果时,是否剔除重复数据select distinct * fro

17、m 表名 练习: 查询表中所有学生的信息。select * from student; 查询表中所有学生的姓名和对应的英语成绩。select name,english from student; 过滤表中重复数据。select distinct * from 表名 练习 在所有学生分数上加10分特长分(即查询所有学生总分再加10分)。select english+math+chinese+10 , name from student; 统计每个学生的总分。 使用别名表示学生分数。select english as 英语 , math as 数学 , chinese from student;

18、使用where子句,进行过滤查询。练习: 查询姓名为wu的学生成绩select english ,name from student where name = wu; 查询英语成绩大于90分的同学select * from student where english90; 查询总分大于200分的所有同学select * from student where (math+english+chinese)200; where子句如何使用案例: 查询英语分数在 8090之间的同学。select * from student where english=80 and english80,语文分80的同

19、学。select * from student where matn80 and chinese80; order by 子句 练习: 对数学成绩排序后输出。select name,math from student order by math; 对总分排序后输出,然后再按从高到低的顺序输出select math+english+chinese as allfen , name from student order by allfen; 对姓李的学生成绩排序输出select (math+english+chinese) as allfen,name from student where nam

20、e like 李% order by allfen; count 练习: 统计一个班级共有多少学生?select count(*) from student; 统计数学成绩大于90的学生有多少个?select count(*) from student where math90; 统计总分大于250的人数有多少?select count(*) from student where (math+english+chinese)250; sum的用法练习: 统计一个班级数学总成绩?select sum(math) from student; 统计一个班级语文、英语、数学各科的总成绩select s

21、um(math),sum(english),sum(chinese) from student; 统计一个班级语文、英语、数学的成绩总和select sum(math+english+chinese) from student; 统计一个班级语文成绩平均分select sum(chinese)/count(*) from student; avg的用法 练习: 求一个班级数学平均分?select avg(math) from student; 求一个班级总分平均分select avg(math+english+chinese) from student; group by 用法练习:对订单表中

22、商品归类后,显示每一类商品的总价select product , sum(price) from orders group by product; having用法练习:查询购买了几类商品,并且每类总价大于100的商品select product , sum(price) from orders group by product having sum(price)100 日期和时间函数CURRENT_DATE ( )当前日期CURRENT_TIME ( )当前时间CURRENT_TIMESTAMP ( )当前时间戳DATE (datetime )返回datetime的日期部分DATE_ADD

23、(date2 , INTERVAL d_value d_type )在date2中加上日期或时间DATE_SUB (date2 , INTERVAL d_value d_type )在date2上减去一个时间DATEDIFF (date1 ,date2 )两个日期差(结果是天)TIMEDIFF(date1,date2)两个时间差(多少小时多少分钟多少秒)NOW ( )当前时间YEAR|Month|DATE (datetime )年月日案例:select current_date() from dual ; 得到当前日期select current_time() from dual ; 得到请求

24、时间;date_add() date_sub()的用法说:有一个留言表create table message(id int , title varchar(64), publishdate datetime);请查询出,两个小时内,发布的消息:select * from message where date_add(publishdate, interval 2 hour) = now();特别说明date_add(日期/date/datetime/timestamp, interval 数 type)type 可以使用如下值:字符函数:,常用函数一览图:CHARSET(str)返回字串字符

25、集CONCAT (string2 ,. )连接字串INSTR (string ,substring )返回substring在string中出现的位置,没有返回0UCASE (string2 )转换成大写LCASE (string2 )转换成小写LEFT (string2 ,length )从string2中的左边起取length个字符LENGTH (string )string长度REPLACE (str ,search_str ,replace_str )在str中用replace_str替换search_strSTRCMP (string1 ,string2 )逐字符比较两字串大小,SU

26、BSTRING (str , position ,length )从str的position开始,取length个字符LTRIM (string2 ) RTRIM (string2 ) trim去除前端空格或后端空格把 ename 列 的 smiTh 第一个字母大写,其它全部小写,怎么办?select UCASE(SUBSTRING (LCASE (smiTh), 1,1) from dual;/首先把 smiTh 的首字母取出,转成大写ucase(substring(smiTh,1,1)/把 smiTh 去掉首字母后,余下的部分取出,/转成小写lcase(substring(smiTh,2,

27、length(smiTh)-1)/最后拼接 select concat (ucase(substring(smiTh,1,1), lcase(substring(smiTh,2,length(smiTh)-1) from dual;结果:select concat(lcase(substring(smiTh,1,1), ucase(substring(smiTh,2,length(smiTh)-1) from dual; 数学函数! mysql的常见约束1 primary key (主键)特点: 主键是用于唯一标识一条记录的约束,一张表,最多只能有一个主键,主键不能为null,也不能重复cre

28、ate table user1 (id int primary key, name varchar(32);2 auto_increment可以自增长.举例:create table user2 (id int primary key auto_increment , name varchar(32);3 unique (唯一)特点: 表的某列的值,不能重复, 可以为null (可以有多个null), 一张表中可以有多个unique.create table user4(id int unique,name varchar(32);4 not null (非空)mysql 的表的列,默认情况下

29、可以为null, 如果不允许某列为空 ,则可使用 not null说明create table user5(id int primary key, name varchar(32) not null);5 外键 foreign key从理论上说明,我们先建立主表,再建从表-部门表create table dept(id int primary key,name varchar(64);insert into dept values(1,财务部);-雇员表create table emp(id int primary key,name varchar(32),deptid int references dept(id);上面的建立外键的写法是错误的。应该这样.(表级定义)create table emp(id int primary key,nam

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1