一、什么是数据库:数据库就是用来存储和管理数据的工具 二、常见的数据库分类:1、关系型数据库 关系型数据库有特定的组织方式,其以行和列的形式存储数据 2、非关系性数据库
三、Mysql数据库: 1.mysql用户端:CRUD dos窗口:mysql -uroot -proot 2、mysql服务端:用来处理数据的维护、保存磁盘 四、SQL语句: 1、定义:结构化查询语言简称sql 2、分类:DML 数据库操作语言:CRUD的操作 Manipulation操作 DDL 数据库定义语言 Definition定义 DCL数据库控制语言 Control控制 DQL数据库查询语言 Query 查询、 五、数据类型的命名规则: 1.字段名必须以字母开头,尽量不要使用平拼音 2.长度不能超过30个字符(不同数据库、不同的版本会有不同) 3、不能使用sql的保留字 4、多个单词用下划线隔开,而不是java的驼峰命名法 六、字符: 1、char长度是固定的,不足的话就使用空格填充,查询快但是浪费空间 2、varchar长度是可变的,存储abc三个只需要占用三位,查询较慢,但是节省空间 3、大文本:大量文字(尽量不要使用,用varchar代替) 七、字段约束: 1.主键约束:特点:唯一且不能为空 primary key 主键自增:特点:从某一个数(这个数是可以设置的)开始每次都增加1 auto-increment 2.非空约束:特点:列添加的值不能为空,但是可以重复 not null 3.唯一约束:特点:列添加的值必须是唯一的,但是可以为空 unique 八、条件查询: 1、distinct:去除重复行 2、where:条件查询 注意:where后面不能跟字段别名 3、like:模糊查询 注意:通配符%代表的是0-n个字符,通配符_代表一个九、字符 4、null:空 5、between and:两者之间包括两者 6、limit:分数最高记录,按分数排序后,limit n ,返回前n条记录 7、order by :排序 十、聚合函数aggregation 1.count:求个数 2、max/min:最大值和最小值 3、sum/avg:求和和平均数 4、group by :分组 注意:如果在分组中出现了非聚合的列,必须按照非聚十一、合的列来分组,不然业务没意义 5、having:配合group by 给于分组后的条件来查询的 注意:group by后面必须跟having 十二、主键、外键、唯一索引的区别: 主键:Primary key 主键约束,自动创建唯一索引 外键:Forigin key 外键约束,注意:外键字段的内容是引用另一表的字段内容,不能随便写 唯一索引:unique 注意:唯一的值但不是主键 drop、delete、truncate之间的区别 drop:删除的数据库或者表 delete:可以指定where条件、删除满足条件的记录 truncate:删除表中的所有数据 十四、数据库的事务: 1、定义:要么都完成要么都不完成 数据库的特性(ACID): 1、原子性(不可分割性):一个事物中的所有操作要么都完成要么都不完成 2、一致性:事务再开始前和结束后,数据库的完整性是没有被破坏的 3、隔离性:数据库允许多个事务并发的对其数据进行读写和修改的能力 4、持久性:一旦对数据库数据修改完成并且提交后,对数据的保存是永久的,即便系统发生故障也不会丢失 十五、隔离级别: 1、读未提交:安全性最差,可能发生并发数据问题,但是性能是最好的 2、读提交:Oracle的默认隔离级别 3、可重复读:mysql的默认隔离级别 4、串行化:读写都加锁效率低下但是最安全 connection链接, statement语句,preparedstatement预处理语句callablestatement存储过程,resultset结果集 characterEncoding字节码集(一般我们设置为utf8) 十六、JDBC的使用步骤: 1.导入jar包(丰富的工具类,需要手动导入一个jar的压缩包然后打开里面有工具类) 2、获取数据库的链接(用户名、密码) 3、通过程序执行sql语句 4、通过程序处理结果
|