多语言展示
当前在线:610今日阅读:165今日分享:48

MySQL基础之如何创建、修改、约束数据表

整型类型在了解整型的几种形式之前,整型有符号和无符号的区分;其中有符号区分正负,无符号不区分(unsigned)。整型按照存储范围分为以下几种: 1、tinyint :范围略 有符号: 无符号: 2、smallint: 3、mediumint: 4、int : 5、bigint:一般我们设计数据库时,可以根据实际情况来设置字段的类型,如我们有一个年龄字段age,据统计一般就是一百多岁吧,所以可以设置age为tinyint,并且年龄都是大于0的,所以是无符号unsigned。浮点类型1、float[(M,D)]:m 表示数字的总位数,D表示小数点位数。2、double[(M,D)];比较float和double:主要是存储范围,后者比前者大。一般来说,float存储到小数点后7位,相对于double类型,float用的比较多。日期类型1、year2、time3、date4、datetime5、timestamp(时间戳)一般如果是数据是时间类型,我们存储到数据表的字段用字符串类型代替日期类型。字符串类型1、字符串分类char(m) 0<=m<=255;varchar(m) 0<=m<=65535;tinytext、text、mediumtext、longtext;enum('value1',value2)枚举类型。主要针对记录数比较少的字段,如性别等;多选一set('value1','value2') 集合。它区别于枚举,这种类型就是一排列组合。2、比较char 和varchar以及enum 和set:char 和varchar:char(m)定义的列的长度是固定的;varchar(m)定义的列的长度是可变字符串;例如:字段如果设置为char(10) ,那么不管你存入的数据是多长,数据库都会占据10个字节的空间,不够的用空格进行填补;而varchar(10)就不同,存入的数据是多大就占用几个字节的空间,如‘aa’就只会占用两个字节。enum 枚举多选一,如字段user_type 设置为enum('a','b','c'),那么user_type 只能保存为a或者b或者c,但是若user_type设置为set('a','b','c'),那么user_type的值就可以为a,也可以为ab等,是abc的排列组合。创建表的语法:create table [if not exists] tb_name(column_name data_type);查看表1、查看数据库的所有表:show tables from [db_name];2、 查看表的结构:show columns from tb_name;3、 查看表的创建语句:show create table tb_name记录插入插入数据表的语法:insert [into] tb_name [column1,column2,...] values(value1,value2...);其中若字段省略,那么插入的数据值是所有的字段值。初识约束1、约束的作用: 保证数据的完整性和一致性;2、约束的类型:NOT NULL :非空约束;DEFAULT:默认约束;PRIMARY KEY :主键约束;注:其中一个表只存在一个主键,声明为主键的字段值是唯一的并且不可以为空。注:设置为自动编号(AUTO_INCREMENT)的列必须是主键,默认值是1,自动增量也是1。UNIQUE KEY:唯一约束;注:其中一个表中可以存在多个唯一约束,声明为唯一约束的字段值必须保证唯一,可以为空。FOREIGN KEY:外键约束;注:外键约束实现了一对多的关系;一般使用较多的是逻辑外键约束,很少使用物理。修改表1、 添加字段:alter table tb_name add [column] column_name column_definition [first|after column_name];如:alter table tb_student add age int not null after sex;2、删除字段:alter table tb_name drop column_name1,drop column_name2...;如:alter table tb_student drop age,drop sex;3、修改数据表:给字段添加主键约束:alter table tb_name add [contraint] primary key (column_name);给字段添加唯一约束:alter table tb_name add [contraint] unique key (column_name1,column_name2..);给字段添加外键约束:alter table tb_name add [contraint] foreign key (column_name) references parent_tb_name(parent_column_name);添加/删除/修改默认约束alter table tb_name alter column_name{set default value|drop defalut};删除主键约束/唯一约束/外键约束:alter table tb_name drop{primary key|index 约束名称(而不是字段名称)|foreign key 外键约束名称};4、修改列定义:alter table tb_name modify column_name column_definition [first|after column_name];5、修改列名称:alter table tb_name change old_column_name new_column_name column_definition;6、修改数据表名称:alter table tb_name rename [to|as] new_tb_name;rename table tb_name to new_tb_name [,tb_name2 to new_tb_name2];删除表drop table [if exists] tb_name;
推荐信息