mysql 聚合函数 mysql 提供的系统实现特定功能的函数
一般情况: 很少 在mysql语句上使用函数,加中mysql负担.
1.主索引: primary key , 主键 确定唯一记录的。 where id=???? id int auto_increment primary key,
create table student(
id int(6) auto_increment primary key,
stuNum
stuName
stuAge
stuSex
stuTel,
key 索引名称( 字段)
)
create table users(
id int(6) auto_increment primary key,
name varchar(20),
pwd varchar(20),
key dt (name) ,
key dp (pwd)
)
对已经有的表添加
alter table 表名称 add index 索引名称(字段1)
alter table student add index ts (stuNum);
alter table student add index ts1 (stuName);
创建表
create table student(
id int(6) auto_increment primary key,
stuNum
stuName
stuAge
stuSex
stuTel,
unique key 索引名称(字段)
)
修改表
alter table 表名称 add unique 索引名称(字段);
全文索引: 加载有大段字符串 的文本上。 了解***
创建 表:
create table student(
id int(6) auto_increment primary key,
stuNum
stuName
stuAge
stuSex
stuTel,
fulltext key 索引名称(字段)
)
修改:
alter table 表名称 add fulltext 索引名称(字段名称)
目前不支持中文
表与 表之间的特定关系,保持了数据的完整性和一致性。 user 用户 order 订单 用户下订单 1》删除用户,没有删除订单,数据就不一致 2》order 表中插入记录
外键控制:让用户不更新数据,或者是用户删除数据的时候,让 订单同步也删除。
1》innodb 类型 查看 show create table 表名 存储引擎engine=值(innodb) 2》外键是两张表的约束关系。 3》外键的 名称在唯一。
create table 表名(
列定义
索引定义
外键定义: [constraint 约束名称] foreign key 外键名称
references [外键名称](外键字段)
【on delete {restrict | cascade | set null | no action}】
【on update {restrict | cascade | set null | no action}】
)
restrict: 拒绝对父表的删除或更新操作
cascade: 父表的删除或更新,自动删除或更新 子表中对应的记录。
set null : 父表删除 更新,设置字表外键字段 null
no action :不作为。
create table user(
id int(6) auto_increment primary key,
name varchar(30),
sex int(1)
)engine=innodb
insert into user(name ,sex) values("zhangsan",1);
insert into user(name ,sex) values("lisi",2);
insert into user(name ,sex) values("wangwu",1);
create table orders(
order_id int(6) auto_increment primary key,
u_id int(6) ,
username varchar(30),
money int(6),
datatime date,
key ud (u_id),
foreign key order_f_key (u_id) references user(id)
)engine=innodb
insert into orders(u_id,username,money,datatime) values(1,"zhangsan",300,"2012-02-02");
insert into orders(u_id,username,money,datatime) values(1,"zhangsan",500,"2012-02-04");
insert into orders(u_id,username,money,datatime) values(2,"lisi",700,"2012-02-04");
insert into orders(u_id,username,money,datatime) values(2,"lisi",900,"2012-02-04");
insert into orders(u_id,username,money,datatime) values(3,"wangwu",100,"2012-02-04");
insert into orders(u_id,username,money,datatime) values(3,"wangwu",200,"2012-02-04");
insert into orders(u_id,username,money,datatime) values(4,"aaaaa",200,"2012-02-04");
alter table 表名称 add foreign key 外键名称(外键字段) references 主表(字段) on delete/ on update casecade alter table orders add foreign key (u_id) references user(id) on delete cascade;