2表存储了ID号和zhangsan的年龄(old)
create table yy2(
user_id int primary key not null,
old int(5),
constraint y_fk foreign key(user_id)
references yy1(user_id)on delete cascade on update cascade);
(3)数据填充yy1和yy2表
insert into yy1 values('110','zhangsan');
insert into yy2 values('110','30');
(4)更新测试:
update yy1 set user_id='120' where user_name='zhangsan';
查询验证
select * from yy2;
(5)删除测试:
delete from yy1 where user_id='120';
查询验证
select * from yy2;
4>设置表的非空值
语法:属性名数据类型 NOT NULL
举例:
create table C(
user_id int NOT NULL);
5> 设置表的唯一性约束
唯一性指的就是所有记录中该字段。不能重复出现。
语法:属性名数据类型 unique
举例:
root@zytest 15:43>create table D(
->user_id int unique);
root@zytest 15:44>show create table D;
6>设置表的属性值自动增加
Auto_increment 是Mysql数据库中特殊的约束条件,它的作用是向表中插入数据时自动生成唯一的ID,一个表只能有一个字段使用 auto_increment 约束,必须是唯一的;
语法:属性名数据类型 auto_increment,默认该字段的值从1开始自增。
举例:
create table F( user_id int primary key auto_increment);
root@zytest 15:56>insert into F values();插入一条空的信息
Query OK, 1 row affected, 1 warning (0.00 sec)
root@zytest 15:56>select * from F;值自动从1开始自增
+---------+
| user_id |
+---------+
| 1 |
+---------+
1 row in set (0.01 sec)
7>、设置表的默认值
在创建表时,可以指定表中的字段的默认值,如果插入一条新的纪录时,没有给这个字段赋值,那么数据库会自动的给这个字段插入一个默认 值,字段的默认值用default来设置。
语法: 属性名数据类型 default 默认值
举例:
root@zytest 16:05>create table G(
user_id int primary key auto_increment,
user_name varchar(20) default 'zero');
root@zytest 16:05>insert into G values('','');
插入数据,应为ID为自增,值为空,user_name设置了默认值,所以也为空。
3》查看表结构的方法:
DESCRIBE可以查看那表的基本定义,包括、字段名称,字段的数据类型,是否为主键以及默认值等。。
(1)语法:describe 表名;可以缩写为desc
(2) show create table查询表详细的结构语句,
1>修改表名
语法:alter table 旧表名 rename 新表名;
举例;
root@zytest 16:11>alter table A rename zyA;
Query OK, 0 rows affected (0.02 sec)
2>修改表的数据类型
语法:alter table 表名 modify 属性名 数据类型;
举例;
root@zytest 16:15>alter table A modify user_name double;
Query OK, 0 rows affected (0.18 sec)
3>修改表的字段名称
语法: alter table 表名 change 旧属性名 新属性名 新数据类型;
root@zytest 16:15>alter table A change user_name user_zyname float;
Query OK, 0 rows affected (0.10 sec)
4>修改增加字段
alter table 表名 ADD 属性名1 数据类型 [完整性约束条件] [FIRST |AFTER 属性名2]
v 增加没有约束条件的字段:
root@zytest