元旦小长假已经结束。我们将继续眼前的数据库学习,上周四天的学习已经对数据库有了一定的了解,有了一个初步的认识。数据库是一个储存数据的仓库,学习数据库就是学习如何管理操作这里大堆的数据,当然重点就在这块。如何管理?如何达到预期的目的?,能够清楚的、准确的、快速的完成指定的数据库管理操作,我想是学习这块之后我们应该要有的一个状态、一种技能。要学好这块,还有很长的路要走。
总结一下上周讲的内容:
查询表:SELECT * FROM 表名;
删除表和数据:DROP TABLE 表名;
修改表:
ALTER TABLE employees ADD CODE INT;
## 插入表 最后一列
ALTER TABLE employees ADD kk VARCHAR(20) AFTER Birthday;
## 插入表 在相应列的后面插入
ALTER TABLE employees RENAME biao;
## 修改表名为biao
ALTER TABLE biao MODIFY COLUMN kk INT;
## 修改列kk的数据的类型为int
ALTER TABLE biao CHANGE COLUMN kk jj INT;
## 修改列的名称+数据类型
创建索引:ALTER INDEX 索引名 ON 表名(列名)
删除索引:ALTER TABLE 表名 DROP INDEX 索引名
添加内容:INSERT INTO 表名 VALUE(表里面列的内容);
数据完整性(提高效率,防止数据垃圾)
分类:实体完整性, //行数据有效
域完整性 // 列
引用完整性 // 编号
自定义完整性
实体完整性:
自动约束 AUTO_INCREMENT
主键约束 primary key
唯一约束 unique
主键约束方法一:CONSTRAINT PRIMARY KEY (表里面的列名)
方法二:PRIMARY KRY (表里面的列名)
方法三:表里面的列名 属性 PRIMARY KEY
域完整性: 非空约束:NOT NULL;
默认约束:Default
外键约束
增加外键___ALTER TABLE afterClass ADD CONSTRAINT class_stu_key FOREIGN KEY (classId) REFERENCES classroom(id);
更新数据: update 表名 set 列名=新值 where 条件
删除数据: delete from 表名 where 列条件
【只删除数据,不能删除表本身。删除后可恢复
只删除表数据不删除表结构:TRUNCATE
【不可恢复,表的结构,列,约束,索引不边 不能用于有外键约束的表。
添加数据: insert into <表名>(列表名)value(值)
insert into stu2(id,name) select(stu2_id,stu2_name)from stu1
【复制 stu1的数据到 stu2
select 列名 into 新表 from 表名
【复制数据+结构