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

一、数据类型介绍

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

  1. 字符类型:char varchar text blob二进制
  2. 数值类型:int、 bigint、 float 、decimal

        bigint-->相当于Java中的long类型

        Decimal-->double类型

    3、日期类型:date、 time datetime timestamp

        date --> yyyy:MM:dd HH:mm:ss

        time --> HH:mm:ss

        datetime --> yyyy:MM:dd

        timestamp(时间戳) -> 长整数,相当于Java中的new date

二、建表、删表语法

1、表的创建

create table t_mysql_user_test(

id int ,

name VARCHAR(20)

)

2、查看表的结构

desc t_mysql_user_test;

 3、表的修改

 ①修改列名

alter table 表名 add|drop|modify|change column 列名

如:

alter table t_mysql_user_test change column name uname datetime

②修改列的类型或约束

alter table t_mysql_user_test change column name uname VARCHAR

③添加新列

ALTER TABLE author ADD COLUMN annual DOUBLE;

如:

ALTER TABLE t_mysql_user_test ADD COLUMN age int;

 ④删除列

ALTER TABLE book_author DROP COLUMN annual;

如:

 ⑤、修改表名

ALTER TABLE author RENAME TO book_author;

如:

ALTER TABLE t_mysql_user_test RENAME TO t_mysql_person_test;

4.表的复制

create table t_mysql_person_test_copy as select * from t_mysql_person_test;

①、只复制部分数据

create table t_mysql_person_test_copy1 as select uname from  t_mysql_person_test

 

②、仅仅复制表的结构,不需要数据

如:

CREATE TABLE t_mysql_person_test_copy2 as select * from t_mysql_person_test where 1=0;

要是不需要复制表的所有结构,就把上面的sql语句中的*换成需要的结构 

5、表创建的方法

CREATE TABLE 表名(
字段名 字段类型 列级约束,
字段名 字段类型,
表级约束
)

如:

表级约束:

create table user_1(
id int,
name varchar(20)
primary key(id)
)

列级约束:

create table user_1(
id int primary key,
name varchar(20)
)

6、表的约束

MySQL没有检查约束

CREATE TABLE stuinfo(
id INT PRIMARY KEY,#主键
stuName VARCHAR(20) NOT NULL UNIQUE,#非空
seat INT UNIQUE,#唯一
age INT DEFAULT 18,#默认约束
majorId INT REFERENCES major(id)#外键
);

7、修改表时添加约束及删除约束

①、添加非空约束

ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NOT NULL;

②、添加默认约束

ALTER TABLE stuinfo MODIFY COLUMN age INT DEFAULT 18;

③、添加主键

ALTER TABLE stuinfo MODIFY COLUMN id INT PRIMARY KEY;

④、添加唯一

ALTER TABLE stuinfo MODIFY COLUMN seat INT UNIQUE;

⑤、添加主键

ALTER TABLE stuinfo ADD CONSTRAINT fk_stuinfo_major FOREIGN KEY(majorid) REFERENCES major(id);

删除约束:

①、删除非空约束

ALTER TABLE stuinfo MODIFY COLUMN stuname 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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值