韩顺平 jdbc 笔记Word下载.docx
《韩顺平 jdbc 笔记Word下载.docx》由会员分享,可在线阅读,更多相关《韩顺平 jdbc 笔记Word下载.docx(23页珍藏版)》请在冰豆网上搜索。
2.mysql数据库也提供图形化界面来登录mysql数据库
演示:
3.如何在mysql中创建数据库
createdatabase数据库名
•创建一个名称为mydb1的数据库。
createdatabasemydb1;
【sql】
•创建一个使用utf-8字符集的mydb2数据库。
createdatabasemydb2charactersetutf8
•创建一个使用utf-8字符集,并带校对规则的mydb3数据库
createdatabasemydb3charactersetutf8collateutf8_general_ci;
◆mysql的一些常用指令
①如何查看,创建数据库的指令:
showcreatedatabse数据库名;
②显示数据库
指令showdatabases;
③查看创建数据库的指令
showcreatedatabase数据名;
④删除数据库:
dropdatabase数据库名
⑤如何指定使用某个数据库
use数据库名;
⑥如何备份和恢复数据库.
mysqldump–u用户名–p密码数据名>
存放路径
该指令,需要在dos控制台下直接执行
恢复数据库:
1.创建一个数据库mydb2,但是这个数据库目前是空.
2.use数据名
3.在mysql控制台下使用source备份文件路径
◆创建表
createtable表名(
列名列的数据类型,
....
)characterset字符集名称collate校对规则
案例
:
创建一张用户表
createtableusers(
idint,
namevarchar(64),
pwdvarchar(64),
birthdaydate)
◆mysql数据类型(重点)
1数值型:
1.bit(m)m默认为1最大64
案例
createtabletest1(idbit
(1));
---//这里显示乱码?
2.tinyint[unsigned]如果是有符号则表示-128到127,如果是无符号0-255
createtabletest3(numtinyint)---128到127
createtabletest4(numtinyintunsigned)0---255
4.smallint
samllint是两个字节表示的.
带符号是负的2的15次方到2的15次方-1,无符号2的16方-1
其它的数值类型,见下图即可
6.float
FLOAT[(M,D)][UNSIGNED]是定长
m:
表示有效位
d:
表示小数点有几位
案例:
createtabletest5(numfloat);
createtabletest6(numfloat(5,1));
7.double
其用法和float类似,只是表示的范围更大,也是定长
8.numeric(m,d)
用于表示小数,或者整数
createtabletest7(numnumeric);
//这样其实就是可以存放整数.
createtabletest8(numnumeric(5,2));
//这样就可以表示有效为5,小数点有两位的数
2字串类型
一览图:
常用的有
(1)char(m)
m范围是0-255,定长.
char(20)如果你存放‘abc’字串,实际在表‘abc’;
createtabletest11(namechar(20));
☞小技巧:
mysql自带的client默认支持utf8码,所有我们在添加中文的时候,需要设置让client支持gbk
*showvariableslike‘char%’;
//显示关于字符的设置参数
*setcharacter_set_client=gbk;
//可以存中文
*setcharacter_set_results=gbk;
//可以看中文
(2)varchar(m)
m表示大小,范围0-65535,变长
varchar(20)如果你存放‘abc’字串,实际在表‘abc’;
案例省略...
建议:
如果表的某列长度固定,比如产品编号..学号...而且在255内,我们应当使用char
如果长度不能取得,或者长度大于255小于65535则使用varchar
(3)text
该类型,可以表示更大的字串.
3日期类型
(1)date
日期(年-月-日)
createtabletest12(birthdaydate);
对于date只保存年-月-日
(2)datetime
日期时间类型
createtabletest13(hiredatedatetime);
(3)timestamp
邮戳:
该类型可以保存年-月-日:
时:
分:
秒
它和datetime最大的区别是,当你update某条记录的时候,该列值,最自动更新
createtabletest14(namevarchar(64),salfloat,hiredate1timestamp,hiredate2datetime);
如果不知道该不该用timestamp,就不要用.
◆创建表综合案例
字段
属性
Id
整形
name
字符型
sex
字符型或bit型
brithday
日期型
Entry_date
job
Salary
小数型
resume
大文本型
createtableemp(
idint,
sexchar
(2),
birthdaydate,
Entry_datedate,
jobvarchar(32),
salaryfloat,
resumetext)
◆修改表结构
--添加新的列
altertable表名addd列名数据类型
--修改列(列的类型和大小)
altertable表名modify列名新的数据类型
--删除某列
altertable表名drop
列名
renametable原表名to新表名
altertable表名characterset字符集名;
altertableuserchangecolumnnameusernamevarchar(20);
•在上面员工表的基本上增加一个image列。
altertableempaddimageblob;
•修改job列,使其长度为60。
altertableempmodifyjobvarchar(60);
•删除sex列。
altertableempdropsex;
•表名改为user。
renametableemptouser;
•修改表的字符集为utf-8
altertableusercharactersetutf8;
•列名name修改为username
altertableuserchangecolumnnameusernamevarchar(30);
如何显示创建表的指令:
showcreatetable表名;
◆insert语句
基本语法:
insertinto表名[列名.....]values(值....);
●插入的数据应与字段的数据类型相同。
比如:
createtabletest15(namevarchar(64));
insertintotest15(name)values(‘aaa’);
insertintotest15(name)values(34);
createtabletest16(ageint);
insertintotest16(age)values(34);
insertintotest16(age)values(‘aaa’);
(错)
insertintotest16(age)values(‘111’);
(虽然ok,但是不是好的写法.)
●数据的大小应在列的规定范围内,例如:
不能将一个长度为80的字符串加入到长度为40的列中。
●在values中列出的数据位置必须与被加入的列的排列位置相对应。
createtabletest17(idint,namevarchar(64));
insertintotest17(id,name)values(3,’aaa’);
insertintotest17(name,id)values(’aaa’,3);
●字符和日期型数据应包含在单引号中。
●插入空值,不指定或insertintotablevalue(null)
◆update语法
update表名set列名=表达式...where条件
说明:
如果where后面没有条件,则相当于对整个表进行操作。
●UPDATE语法可以用新值更新原有表行中的各列。
●SET子句指示要修改哪些列和要给予哪些值。
●WHERE子句指定应更新哪些行。
如没有WHERE子句,则更新所有的行。
将所有员工薪水修改为5000元。
updateemployeesetsal=5000;
●将姓名为’zs’的员工薪水修改为3000元;
updateemployeesetsal=3000wherename=’zs’;
●将wu的薪水在原有基础上增加1000元
updateemployeesetsal=sa+1000wherename=’wu’;
◆delete语句
delelefrom表名where条件;
注意:
●如果不使用where子句,将删除表中所有数据。
所有要小心使用.
●Delete语句不能删除某一列的值(可使用update)
●使用delete语句仅删除记录,不删除表本身。
如要删除表,使用droptable语句。
●同insert和update一样,从一个表中删除记录将引起其它表的参照完整性问题,在修改数据库数据时,头脑中应该始终不要忘记这个潜在的问题。
●删除表中数据也可使用TRUNCATETABLE语句,它和delete有所不同,参看mysql文档。
truncatetable表名,可