mysql引擎:InnoDB(默认引擎、支持事务)
MyISAM 不支持事务,不支持外键,以访问为主
DDL 数据定义语言
创建数据库:
create database 数据库名;
查看数据库列表:show databases;
选择数据库:
use 数据库名;
删除数据库:
drop database 数据库名;
创建表:
create table 表名 ();
查看表:
show tables;
查看表定义:
desc 表名;
删除表:
drop table 表名;
修改表名:
alter table 旧表名 rename 新表名;
添加字段:
alter table 表名 add 字段名 属性;
alter table demo02 add password varchar(20) not null;
修改字段:
alter table 表名 change 源字段名 新字段名 属性;
删除字段:
alter table 表名 drop 字段名;
DML 数据操作语言:插入、修改、删除数据 insert update delete
插入单行数据:
insert into 表名 (name,字段2..) values('tom',...);
插入多行数据:
insert into 表名 (name,字段2..) values('tom',...),('tina',...);
更新数据:
update 表名 set 列明 ='更新值'; update student set sex ='女';
删除数据:
delete from 表名 where id=1;
DQL 数据查询语言:SELECT
排序:
select * from student where score>60 order by score desc; desc降序 asc升序
limit:
select * from student where score>60 order by score desc limit 5;
子查询:
select * from student where gride=(select...);子查询为单个结果
select * from student where gride in(select...);子查询为多个结果 not in
exists:
select * from student where exists (子查询);
not exists
group by:
select * from student where score>60 group by sex having avg(score)>60;
where --> group by --->having
多表查询:
内连接:
select s.name,r.score from student as s result r where s.studnetNo = r.studnetNo;
select s.name,r.score from student as s (inner) join result r on (s.studnetNo = r.studnetNo);
外连接查询:
左外连接查询:
select s.studnetname,r.subjectNo from student s left (outer) join result r on s.studnetNo = r.studnetNo;
右外连接查询:
select s.studnetname,r.subjectNo from student s right (outer) join result r on s.studnetNo = r.studnetNo;
事务:将一系列数据操作捆绑称为一个整体进行统一管理。
属性:
原子性
一致性
隔离性:对数据进行修改的并发事务彼此隔离
持久性
开始事务:begin; start transaction;
提交事务:commit;
回滚事务:rollback;
设置自动提交:
set autocommint=0|1;
0:关闭自动提交
1:开启自动提交
索引:数据结构(B-树或哈希表)
提交数据库检索速度,改善数据库性能
普通索引、唯一索引、主键索引、复合索引、全文索引、空间索引;
数据库设计范式:
第一范式:确保每列原子性;
第二范式:在第一范式的基础上,确保表中每列都和主键相关;
第三范式:在第二范式的基础上,确保表中每列都和主键直接相关,而不是间接相关。
JDBC(java数据库连接技术): java通过JDBC技术实现对各种数据库访问。
JDBC访问数据库步骤:
1.加载驱动
2.建立连接
3.发送sql语句
4.处理结果
常用驱动方式:
JDBC-ODBC桥连方式
纯java方式连接(常用)
1.加载驱动
Class.forName("com.sql.jdbc.Driver");
2.建立连接
Connection conn = DriverManager.gerConnection("jdbc:mysql://localhost:3306/数据库名","用户名","密码");
3.发送sql语句
4.处理结果
事务:将一系列数据操作捆绑称为一个整体进行统一管理。
属性:
原子性
一致性
隔离性:对数据进行修改的并发事务彼此隔离
持久性
开始事务:begin; start transaction;
提交事务:commit;
回滚事务:rollback;
设置自动提交:
set autocommint=0|1;
0:关闭自动提交
1:开启自动提交
索引:数据结构(B-树或哈希表)
提交数据库检索速度,改善数据库性能
普通索引、唯一索引、主键索引、复合索引、全文索引、空间索引;
数据库设计范式:
第一范式:确保每列原子性;
第二范式:在第一范式的基础上,确保表中每列都和主键相关;
第三范式:在第二范式的基础上,确保表中每列都和主键直接相关,而不是间接相关。
JDBC(java数据库连接技术): java通过JDBC技术实现对各种数据库访问。
JDBC访问数据库步骤:
1.加载驱动
2.建立连接
3.发送sql语句
4.处理结果
常用驱动方式:
JDBC-ODBC桥连方式
纯java方式连接(常用)
1.加载驱动
Class.forName("com.sql.jdbc.Driver");
2.建立连接
Connection conn = DriverManager.gerConnection("jdbc:mysql://localhost:3306/数据库名","用户名","密码");
3.发送sql语句
4.处理结果