找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
1、索引是一种数据结构,

索引的类型
普通索引
查看索引:show INDEX FROM empt;
CREATE INDEX xiaoshan on empt(sid);
DESC empt;
删除索引:ALTER table empt DROP INDEX xiaoshan;
唯一索引:他与前面的普通索引类似,不同的就是:索引列的值必须是唯一,允许有空值

创建唯一索引:

CREATE UNIQUE INDEX aa on empt(sid);



主键索引,其实就是主键约束,一般会在建表的时候直接添加了主键约束


添加主键索引 :
ALTER TABLE empt add PRIMARY KEY(sid);



删除主键索引 :

ALTER TABLE empt DROP PRIMARY key;



视图
1.视图本身是一张虚拟表,在数据库中并没有真实的存在
2.视图的更新和删除数据,也会影响到基础表的数据
3.基础表的数据更改,也会影响到视图的数据
创建视图 :
SELECT sid,name,age from empt;
CREATE VIEW linchong as(SELECT sid,name,age from empt) ;
UPDATE linchong set name = 'zhangsan' where sid = 1789;
UPDATE empt set name = '张三' where sid = 1789;
删除视图 :
drop VIEW linchong;
show TABLEs;
创建完视图以后使用show tables 查看数据库中的表,视图也会显示在结果中


数据库的语言分类
DDL :数据库的定义语言(对表和表的结构进行操作)
caret
delete
alter table
drop

DML:数据库的操作语言(对表的数据进行操作)
insert into :增
update :删
delete:改
select :查

数据库的常见约束
not null  :非空约束
primary key  :主键约束
auto increment :自增长约束
default :默认值约束
foreign :外键约束

【外键】
一般在设计表格的时候,就设计好了外键的约束,用来保持数据的一致性和完整性
create table dcs1(id int(4)PRIMARY key,name varchar(10)) ENGINE=INNODB ;
创建dcs1,修改表数据类型为 INNODB
create table dcs2(sid int(4)primary key,sname varchar(10),CONSTRAINT fk_sid FOREIGN key(sid)REFERENCES dcs1(id))ENGINE=INNODB;
fk_*** :代表外键的名称 --fk_sid
FOREIGN key (子表的字段):创建外键,并对应子表中的某个字段
REFERENCES : 父表的表名称(父表的字段)--父表对应的是dcs1,父表的主键字段名对应的是id字段
插入数据:如果dcs1和dcs2 存在外键的约束,主表中不存在的数据,在子表中也插入不了
删除数据:如果dcs1和dcs2 存在外键约束,如果想删除主表的数据,需要先删除子表中的对应数据


4、【存储过程】
1、可以多次调用
2、可以通过存储过程在表中插入大量的数据,取代手工插入insert操作
3、工作中一般涉及到批量数据的校验,会用到存储过程造数据

存储过程的固定格式
create procedure #创建存储过程
begin # 存储过程的开始
存储过程的内容
end# 存储过程的结束

call 存储过程的名称(参数) #调用存储过程

drop procedure + 存储过程的名称 :删除存储过程的操作


存储过程
DROP PROCEDURE IF EXISTS dcs20; #在执行创建新的存储过程之前,把原有的存储过程删除,保证健壮性
CREATE PROCEDURE dcs20(n int) #创建存储过程,n是变量,int 是变量的数据类型
BEGIN  # 开始
drop table if EXISTS aa; #如果存在aa表就删除
CREATE TABLE aa(id int(5)PRIMARY key
auto_increment,score int(5));
INSERT into aa values(1,88),(2,75),(3,79),(4,95)
(5,85),(6,63),(7,90),(8,99);
SELECT * from aa;#查询aa中的所有数据
SELECT * from aa WHERE id = n; # 带参数查询
END
call dcs20(8)




分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册