第1章
1)数据库的特征
数据结构化
实现数据共享
减少数据冗余
数据独立性
2)数据库类型,按数据模型特点分
网状型数据库
层次型数据库
关系型数据库
第2章
1)建表
CREATE TABLE t_class (
classno int(11) NOT NULL AUTO_INCREMENT,
classname varchar(255) DEFAULT NULL,
createdate datetime DEFAULT NULL,
stamp timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
sal decimal(10,2) DEFAULT NULL,
PRIMARY KEY (classno),
foreign key (deptno) references dept(deptno),
index(classno)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3)AUTO_INCREMENT 定义到主键上,而且是int型
4)InnoDB支持事务和外键
5)删除表
drop table 表名;
添加列:
6)ALTER TABLE 表名 ADD 列名 数据类型 长度 列属性;
ALTER TABLE Emp ADD Tele VARCHAR(50) not NULL;
7)修改
•ALTER TABLE 表名 MODIFY 列名 新数据类型 长度 新列属性;
8)删除列
•ALTER TABLE 表名 DROP COLUMN 列名;
9)修改表名
rename table 旧表名 to 新表名
关键词汇:
primary key 主键
foreign key 外键
not null 不为空
null 可为空
unique 唯一
index 索引
comment 注释
auto_increment 自动增长 主键 int型
default 默认
第三章
insert update delete
•TRUNCATE和DELETE区别
–TRUNCATE是DDL,只能删除表中所有记录,释放存储空间,使用ROLLBACK不可以回滚。
–DELETE是DML,可以删除指定记录,不释放存储空间,使用ROLLBACK可以回滚。
子查询批量插入:create table 新表名 as 子查询
事务(*)
•事务(Transaction)概念
–事务:也称工作单元,是由一个或多个SQL语句所组成的操作序列,这些SQL语句作为一个完整的工作单元,要么全部执行成功,要么全部执行失败。在数据库中,通过事务来保证数据的一致性。
可用四个字母的缩写表示:即ACID
–原子性(Atomicity)
•事务就像“原子”一样,不可被分割,组成事务的DML操作语句要么全成功,要么全失败,不可能出现部分成功部分失败的情况。
–一致性(Consistency)
•一旦事务完成,不管是成功的,还是失败的,整个系统处于数据一致的状态。
–隔离性(Isolation)
•一个事务的执行不会被另一个事务所干扰。比如两个人同时从一个账户从取钱,通过事务的隔离性确保账户余额的正确性。
–持久性(Durability)
•也称为永久性,指事务一旦提交,对数据的改变就是永久的,不可以再被回滚。
事务操作
1.用begin,rollback,commit来实现
begin开始一个事务
rollback事务回滚
commit 事务提交
–隐式提交:
当下列任意一种情况发生时,会发生隐式提交
•执行一个DDL(CREATE、ALTER、DROP、TRUNCATE、RENAME)语句;
•执行一个DCL(GRANT、REVOKE)语句;
第4章
desc显示表结构
select from 子句必须的
where 条件
order by asc|desc
like _代替一个字符 % 代替0-n个字符
distinct 去除重复
is not null判断不为空
between...and 包括临界址>= <=
in and or
第5章
简单日期时间函数,按课件上的例子试一下
•CURDATE()和CURRENT_DATE():获取当前日期函数;
•NOW():返回服务器的当前日期和时间;
•CURTIME():返回当前时间,只包含时分秒;
第6章
笛卡尔积(交叉连接) 记录数相*
多行操作包括:in any all
第7章
聚合函数
1) 最大值 max(参数)
2)最小值min(参数)
3)平均值avg(参数)
4)求和sum(参数)
5)总条数count(参数)
分组:
group by +having
书写顺序
#书写顺序 select--from --where--group by--having-- order BY
执行顺序: from--where-group by -having-select-order by
•SELECT语句执行过程:
–1.通过FROM子句中找到需要查询的表;
–2.通过WHERE子句进行非分组函数筛选判断;
–3.通过GROUP BY子句完成分组操作;
–4.通过HAVING子句完成组函数筛选判断;
–5.通过SELECT子句选择显示的列或表达式及组函数;
–6.通过ORDER BY子句进行排序操作。
第8章
创建和修改视图
create or replace view v_dept as select * from dept where deptno=10 WITH CHECK OPTION;
删除视图
drop view 视图名;
索引
索引是一种特殊的数据库结构,可以用来快速查询数据库表中的特定记录。索引是提高数据库性能的重要方式。
创建时机:1)创建表时创建2)在已经存在的表上创建3)利用alter table 语句创建
删除索引
•DROP INDEX 索引名 ON 表名 ;
分页
•使用select语句时,经常要返回前几条或者中间某几行记录,可以使用关键字limit。语法格式如下:
select 字段列表
from 数据源
limit [start,]length;
其他:
show engines 查询存储引擎
InnoDB 默认引擎
USE 数据库表 进入要操作的数据库
3306 默认端口号
revoke 语句可以收回所有权限
drop user 删除用户