mysql之数据类型、建表以及约束

一、数据类型介绍

MySQL支持多种类型,大致可以分为三类,数值、日期/时间和字符串(字符)类型

1、字符类型:char    varchar   text    blob

2、数值类型:int   bigint   float   decimal

int ——>int

bigint——>long

float——>成绩

decimal——>货币类型(精度,小数)

3、日期类型:data  time  datetime  timestamp

date——>yyyy:mm:dd  HH:mm:ss

time——>HH:mm:ss

datetime——>yyyy:MM:dd

timestamp(时间戳)——>长整数

二、建表、删表语法

1、表的创建

语法   create table  表名(

列名  列的类型【(长度)约束】,

列名  列的类型【(长度)约束】,

列名  列的类型【(长度)约束】

代码示例

create table book(

id int,

bname  varchar(20),

price double

)

 2、表的修改

语法   alter table 表名  add|drop|modify|change|column  列名【列类型  约束】

修改user表的name为uname

alter table book change column name uname varchar(20)

 3、表的删除

删除book表的价格字段

alter table book drop column age

 4、表的复制

想要改动原有表的数据,又怕出错,后续想要回退到之前的表设计

book

create table book_copy as select * from book

三、主键(自动增长)、外键、非空等约束的使用

含义:一种限制,用于限制表中的数据,为了保证表中的数据的准确和可靠性

分类:六大约束

not null  非空约束,用于保证该字段的值不能为空  比如:姓名、学号等

alter table stuinfo modify column name varchar(20) not null

default   默认约束,用于保证该字段有默认值   比如:性别

alter table stuinfo modify column age int default 18

primary key  主键约束,用于保证该字段的值具有唯一性,并且非空  比如:学号、员工编号等

alter table stuinfo modify column id int primary key

unique  唯一约束,用于保证该字段的值具有唯一性,可以为空   比如:座位号

alter table stuinfo modify column seat int unique

check   检查约束(MySQL中不支持)  比如:年龄、性别

foreign key   外键约束,用于限制两个表的关系,用于保证该字段的值必须来自于主要的关联列的值

alter table stuinfo add constraint fk_stuinfo_major foreign key(majorid) references major(id)

删除约束

删除非空约束

alter table stuinfo modify column name varchar(20) null

删除默认约束

alter table stuinfo modify column age int 

 删除主键

alter table stuinfo drop primary key

 删除唯一

alter table stuinfo drop index seat

 删除外键

alter table stuinfo drop foreign key fk_stuinfo_major

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欣宇不会敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值