1、 元数据:指系统表存储的每个事务的相关信息,例如名字,结构,位置,类型。
2、一个数据库的一个实例可以包括多个数据库。
3、视图:一个或者多个表数据的逻辑显示,视图并不存储数据。
4、truncate比delete效率要高。truncate 表名;truncate只能删除表里的全部数据。
5、SQL语句中的字符串是单引号不是双引号。
6、约束:constraint test2_uk unique(test_pass,test_pass);
7、主键:每个表中最多允许一个主键,mysql在主键列上建立对应的唯一索引。constraint test2_pk primary key(test_id);auto_increment设置自增长。
8、外键:java_teacher int references teacher_table (teache_id);当主表的记录被从表记录参照时主表记录不允许被删除,必须先把从表里的参照该记录的所有记录全部删除后,才可以删除主表的该记录。 或者换一种方式,删除主表记录时级联删除从表中所有参照该记录的从表记录。
9、从表外键参照只能是主表健列或者唯一健列。
10、指定本表外键:foreign key(java_teacher) references teacher_table(teacher_id).
11、自关联:外键参照自身时为自关联。例如:用一个表保存某个公司所有员工记录,员工之间有部门经理和普通员工之分,部门经理和普通员工之间存在一对多关联关系。
12、如果想定义当删除主表时把从表的记录也随之删除,则需要在建立外键约束后添加:on delete cascade;
13、索引:是存放在模式(schem)中的一个数据库对象。create index emp_last_name_idx2 on employees(first_name,last_name); drop index 索引名 on 表名;--删除索引。
14、视图:视图只是数据库表的逻辑显示,也就是一个查询结果。
create or replace view view_tesr
as
select teacher_name,teacher_pass from teacher_table
----指定不允许修改该视图的数据
with check option;
15、去除重复行:distinct 关键字,=判断是否相等,赋值符为:=。
16、select * from jdbc_test group by jdbc_name having count(*)>1; 不能在where子句中过滤组,不能在where子句中使用组函数,必须用having过滤组。
17、查询的结果集中,取列的值时通过列索引比通过列名性能更好。
18、PreparedStatement采用预编译技术,预编译后的SQL语句存储在PreparedStatement对象中,然后可以高效的执行。还有一个很大的作用防止SQL注入。
19、调用存储过程方法:
CallableStatement cstmt = conn.prepareCall("{call add_pro(?,?,?)}");
cstmt.setInt(1,4);
cstmt.setInt(2,5);
//注册CallableStatement的第三个参数是int类型
cstmt.registerOutParameter(3,Types.INTEGer);
//执行存储过程
cstmt.execute();
20、