计划是:
- 早上查题,背一遍然后检查自己一遍以上
- 中午有时间就背一遍以复习昨天的为主
- 晚上背一遍,第二天中午再看一眼:day+1
- 第四天课间看一遍:day+3
- 第七天课间看一遍:day+6
- 第十五天课间看一遍:day+14
mysql数据类型
数据类型:dataType
(只管显示的长度,跟数据存储无关),必须配合不够补零才有用
前面补零 LPAD(str,len,padstr) :lapd(“1”,4,0) --> “0001”
后面补零 RPAD(str,len,padstr)
-
字符:
-
char:不支持大小写
-
varchar:( 可变)不支持大小写
-
binary:支持大小 写
-
varbinary:可变的支持大小写
-
blob: 非文本大文件
-
text: 文本大文件
char 和varchar 都保存字符,一个是定长,一个是可变, 定长速度快,浪费空间; 可变速度慢,节省空间。
-
-
数字:
- int:正常整数
- bigint:大整数
- double:浮点型
- decimal:支持科学计算
- (Oracle:number)
-
日期:
- date :不支持时间 ,只支持日期
- timestamp:支持年~秒 ,支持时区 ,空间小 ,只支持用到2038年
- datetime:支持年~秒,空间大,9999
DDL:数据定义语言(用来创建数据库对象:表,索引,约束,序列,视图…)
create 创建:
语法:
create table tabname/数据库对象(
columnName dataType [constraint conname conType] [,...]
)
实例:
create database hi
create database hi default character set utf8
create table hi (id int,
name varchar(10),
age int )
约束:创建时间一般同建表一起,或者在表之后创建,用来保证数据完整性的一种技术手段
约束类型: 唯一,非空,主键,外键,检查,
Mysql:唯一,非空,主键,外键
mysql还有 默认值约束
其他DDL
-
drop:删除
drop table tabname; -
alter:修改
删除某列 alter table emp_dept drop COLUMN loc
增加某列 alter table emp_dept add COLUMN loc char(10)
修改某列 alter table emp_dept modify COLUMN loc char(15)
修改列的全部信息:alter table hehe change COLUMN ename namess -
truncate :截断 (删除全表的数据,不可选)
truncate table tabname;
truncate 和delete 和drop的区别
delete:是DML,部分数据可选,可以还原,效率慢
truncate :是DDL,全表数据删除,不可还原 ,速度快
drop:是DDL,表和数据都删除,不可还原 ,速度最快,并将表所占用的空间全部释放
视图:本质是一个保存了的查询语句
CREATE or replace VIEW empvu10
AS SELECT empno, ename, job
FROM emp
WHERE deptno = 10;
索引
create index hahahaha on emp (ename)
什么时候适合使用索引:
1.数据量较大
2.查询的内容占总数据20%
3.主要做查询
4.不要经常增删改
5.主键和唯一键
java数据类型
数据类型
整数类型
浮点数类型
字符类型:
Java字符类型有固定的长度为:16位(2字节),是一个16位无符号整数
‘0’与’\u0000’不是同一个字符:
- int b=0x4e2d;//十六进制整数形式,打印时需要强制转换为字符
System.out.println((char)b); - char c=’\u4e2d’;//按Unicode字符集编码形式表示字符,可以直接打印
boolean类型
没有给出具体的占用字节数