0313+0312

show databases;查看多少数据库
create database shujukuming;新建
drop database shujukuming;删除
use sjkm;进入指定数据库
show tables;查询数据表数
desc shujubiaoming;查看指定表结构,describe
与定义变量不同 creat table test(name varchar(255) default 'xxx'); 名 类型 = 值。
alter table sjbm
add原来不存在的,modify修改已存在的。
MySQL的两种语法:rename to 表名,change 旧列名 新列名 type。
truncate 表名;删除表里全部数据但保留表结构。

NOT NULL:
不可以为空,只能作为列级约束。
name int not null;
nam int null;
modify name int null;
modify nam int not null;

UNIQUE:
指定列或列组合不能出现重复值(可以多个null)。
列级:name int unique;
表级:[add] unique (name(varcahr不用加括号里的数字))
           [modify] constraint zhidingyueshuming unique(name)
           [modify] constraint zhidingyueshuming unique(name,name2),两列值的组合不能重复。
多数使用drop constraint yueshuming;但MySQL用drop index yueshuming。

PRIMARY KEY:
相当于非空和唯一,每个表最多一个主键。
列级:name int primary key;
表级:constraint yueshuming primary key(name),MySQL中主键约束命不命名都是PRIMARY。
          primary key(name,name2);
          同样可以前面add,modify。删除则是drop primary key;因为一个表只有一个。

FOREIGH KEY:
从表外键参照的只能是主表的主键列或者unique。
MySQL支持列级约束外键,但是不生效只为和标准sql兼容,所以应该用表级约束。
constraint zhidingyueshuming foreign key(dangqianbiaodelie) references zhubiao(zhubiaodelie);
多列组合外键约束 foreign key(xx,xx) references zhubiao(xx,xx); 自身的列和列也可以,自关联。
drop foreign key yueshuming;
on delete cascade和on delete set null区别。

CHECK:
MySQL支持但没作用。

索引index:
自动创建或手动创建,自动删除或手动删除。




猜你喜欢

转载自huadianfanxing.iteye.com/blog/2362056