创建数据库 creat table test( #整数通常用于int test_id int, #十进制通常使用decimal test_price decimal, #普通文本通常使用。并使用Default指定默认值 test_name varchar(255) default "Xxx", #大文本类型使用test test_desc text, #图片使用blob test_img blob, #日期类型使用DateTime test_date datetime, ); ----------------------------------------------------------------- mysql 支持的列类型 1.tinyint,smallint,mediumint,int,bigint 2.float,double 3.decimal(dec) 4.date 5.time 6.datetime 7.timestamp 8.year 9.char 10.varchar 11.binary(定长的二进制字符串类型。以二进制形式保存字符串) 12.varbinary 13.tinyblob,blob,mediumblob,longblob 14.tinytext,text,mediumtext,longtext 15.enum('value1','value2'...)//枚举类型(仅仅能是当中之中的一个) 16.set('value1','value2'...)//集合类型(能够是当中几个) -------------------------------------------------------------------- #创建数据表。该数据表和user_info全然同样,数据也全然同样 create table hehe as select * from user_info; --------------------------------------------------------------------- #改动表的结构的语法 alert table 表名 add(#能够定义多个列定义colum_name datatype [default expr],... ); --------------------------------------------------------------------- #为hehe数据表添加一个hehe_id字段,该字段类型为int alter table hehe add hehe_id int; #为hehe数据包添加aaa,bbb字段。两个字段的类型都为varchar(25) alter table hehe add aaa varchar(25),bbb varchar(25); ---------------------------------------------------------------------- #将hehe表的hehe_id列改动为varchar(255)类型 alter table hehe modify hehe_id varchar(255); #将hehe表的bbb列改动为int类型 alter table hehe modify bbb int; ---------------------------------------------------------------------- #删除指定的列 alter table hehe drop column_name #重命名数据表 alter table hehe rename to wawa; ---------------------------------------------------------------------- #将wawa表的字段bbb字段重命名为ddd alter table wawa change bbb ddd int; #删除表 drop table 表名 ---------------------------------------------------------------------- 数据库约束 not null unique primary key foreign key check #not null约束 create table hehe( #建立了非空约束,这意味着hehe_id不能够为null hehe_id int not null, #mysql为空约束不能指定名字 hehe_name varchar(25) default 'xyz' not null, #以下列能够为空。默认值就是为null hehe_gender varchar(28) null ); --------------------------------------------------------------------- #添加非空约束 alter table hehe modify hehe_gender varchar(30) not null #取消非空约束 alter table hehe modify hehe_name varchar(3) null; #取消非空约束。并指定默认值 alter table hehe modify hehe_name varchar(255) default 'abc' null; ------------------------------------------------------------------- unique约束 #建立表时创建唯一约束,使用列级约束语法建立约束 create table unique_test( #建立了非空约束,着意味着test_id不能够为null test_id int not null, #建立了unique约束 test_name varchar(30) unique ); #创建表时,使用表级约束语法建立约束 create table unique_test( test_id int not null, test_name varchar(30), test_pass varchar(30), #使用表级约束创建唯一约束 unique(test_name), constraint test_uk unique(test_pass) #constrain test1_uk unique(test_name,test_pass) ); #改动唯一约束 alter table unique_test add unique(test_name,test_pass); #为表添加约束 alter table unique_test modify test_name varchar(30) unique; ------------------------------------------------------------------- primary key约束 create table primaryKey_test(primaryKey_id int primary key,test_name varchar(255) ); create table primaryTest(primary_id int not null,primary_name varchar(29),constraint pk_test primary key(primary_id) ); #删除主键约束 alter table test drop primary key; #使用表级语法添加主键约束 alter table test add primary key(test_id ,test_name); #使用列级约束语法添加主键约束 alter table test modify test_name varchar(30) primary key; ------------------------------------------------------------------ #为了保证从表參照的主表存在。通常应该先建立主表 create table teacher_table(#auto_incrementteacher_id int auto_increment,teacher_name varchar(255), primary key(teacher_id) ); create table student_table(student_id int auto_increment primary key,student_name varchar(255),#指定java_teacher參照到teacher_table的teacher_id的列java_teacher int references teacher_table(teacher_id) #java_teacher int #foreign key(java_teacher) references teacher_table(teacher_id) #constraint student_teacher_fk foreign key(java_teacher) references teacher_table(teacher_id) ); --------------------------------------------------------------------------------------------- #check约束 create table test(test_id int auto_increment primary key,test_age int not null,check(test_age>0 and test_age<120) )
版权声明:本文博主原创文章,博客,未经同意不得转载。