mysql创建模式表_MySQL创建模式,表

1.模式

创建模式

CREATE SCHEMA ch3;

显示模式

SHOW SCHEMAS;

删除模式,没有级联删除或者限制删除

DROP SCHEMA ch3;

2.基本表

创建

CREATE TABLE Student(

Sno CHAR(9) PRIMARY KEY, /*主键,不可重复,不能为空=UNIQUE+NOT NULL*/

Sname CHAR(20) UNIQUE, /* 不可重复

Ssex CHAR(2),

Sage SMALLINT,

Sdept CHAR(20)

);

建表约束

含义

含义

PRIMARY KEY

主键,不能重复,不能为空

PRIMARY KEY(KEY1, KEY2)

联合主键,要求同主键

AUTO_INCREMENT

自增约束

UNIQUE

唯一性约束

NOT NULL

非空约束

DEFAULT

默认约束,初始值

FOREIGN KEY(key1) REFERENCES 父表(key)

外键约束,子表里列的信息必须是对应父表的子集

ON UPDATE CASCADE

ON DELETE CASCADE

外键级联约束(我自己编的,不知道有没有,放在外键约束后边)

数字类型

类型名

取值范围(有符号或无符号)

占用存储(字节)

TINYINT

-128~127或0~

51f065176d17c3a50966b5b498d89044.png-1

1

SMALLINT

-32768~32767或0~

4ac1b94e016d142301946502bfe2e13b.png-1

2

MEDIUMINT

c450167bcdd51c15aaeafbb36d4dd77e.png~

e8f5067d43d765871f966fd342e31780.png-1或0~

a08ddfcfd6bd118872e123aeffe6b3dc.png-1

3

INT

7b74b517e69fb35021127c3ccb1c7a40.png~

f1ae834909ba2826d46397dba61bdd96.png-1或0~

9f8b89b84f980d01cacb03c7de1972ce.png-1

4

BIGINT

69faf4a501b4d78b5c9f7654c3bfd337.png~

7988a7f0b941defd0cf1184217caf4fb.png-1或0~

5c7a76ca74a0ec8bce55ad593ca062b3.png-1

8

FLOAT

4

DOUBLE

8

DECIMAL(M)

M+2(VER>3.23)

日期类型

类型名

含义

类型名

含义

DATE

日期,‘YYYY-MM-DD’

TIME

时间,‘HH:MM:SS’

DATETIME

日期加时间,‘YY-MM-DD HH:MM:SS’

TIMESTAMP

时间戳,以秒为单位

字符串类型

类型名

含义

类型名

含义

CHAR

定长字符串

VARCHAR

变长字符串

TINYBLOB

BLOB(

68760dfa110863513f83071e44f9e859.png)

TINYTEXT

TEXT(

68760dfa110863513f83071e44f9e859.png)

BLOB

BLOB(

db19091059b9e6f2d3647af44fbd4fe9.png)

TEXT

TEXT(

db19091059b9e6f2d3647af44fbd4fe9.png)

MEDIUMBLOB

BLOB(

6af7c0a8a9ec2c5e063e3642e2253a28.png)

MEDIUMTEXT

TEXT(

6af7c0a8a9ec2c5e063e3642e2253a28.png)

LONGBLOB

BLOB(

fbf0dd6f7227c6256e9a3d0f7f158822.png)

LONGTEXT

TEXT(

fbf0dd6f7227c6256e9a3d0f7f158822.png)

ENUM('VALUE1', 'VALUE2', ....)

枚举:列只能复制为某个枚举成员或NULL

SET('VALUE1', 'VALUE2', ...)

集合:列可以赋值为多个集合成员或NULL

BLOB是一个能保存可变数量的数据的二进制大对象。

显示模式下所有的表名

SHOW TABLES;

显示表信息,包含不同列的不同信息,类型等

DESC Student;

删除表

DROP TABLE Student;

级联删除:当被删除的表为某一张表的父表时,直接删除无法删除,所以需要先删除子表才能删除父表

类似的还有级联更新

修改基本表

新增一列

ALTER TABLE Student ADD [COLUMN]  名 类型 约束条件;

修改某一列

ALTER TABLE Student MODIFY COLUMN 名 新的类型 新的约束条件;

ALTER TABLE Student DROP KEY 名;删除唯一性要求

ALTER TABLE Student ADD UNIQUE(名);添加唯一性要求

删除某一列

ALTER TABLE Student DROP COLUMN 名;

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!MySQL 是一个常用的关系型数据库管理系统,可以用来创建和管理数据库。针对您的问题,我可以为您介绍一下如何在 MySQL创建一个名为 s_c 的数据库,并设计其中的结构。 首先,您需要登录到 MySQL 中,可以使用以下命令: ``` mysql -u username -p ``` 其中,username 是您的用户名,执行该命令后会提示您输入密码。 接下来,您可以使用以下命令创建一个名为 s_c 的数据库: ``` CREATE DATABASE s_c; ``` 然后,您可以使用以下命令进入该数据库: ``` USE s_c; ``` 接着,您可以根据需要设计该数据库中的结构。根据您的需求,我们可以设计两个:一个是店铺(store),另一个是服装(clothes)。店铺中包含店铺的基本信息,服装中包含服装的基本信息以及所属店铺的信息。下面是两个的设计: ``` CREATE TABLE store ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, address VARCHAR(100) NOT NULL, phone VARCHAR(20) NOT NULL, created_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE clothes ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, price DECIMAL(8,2) NOT NULL, color VARCHAR(20), size VARCHAR(20), store_id INT NOT NULL, FOREIGN KEY (store_id) REFERENCES store(id), created_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` 以上两个中,都包含了一个自增的 id 字段作为主键,并且都包含了一个 created_time 字段用于记录创建时间。store 中还包含了 name、address、phone 字段用于记录店铺的名称、地址和电话号码。clothes 中还包含了 name、price、color、size 和 store_id 字段,其中 store_id 是一个外键,用于关联店铺中的记录。 以上是一个简单的 s_c 数据库的设计示例,您可以根据具体需求进行修改和扩展。如果您有任何疑问或需要进一步帮助,请随时告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值