MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)

1.创建表基本语句

CREATE TABLE users(
username VARCHAR(50) PRIMARY KEY,
userpwd VARCHAR(50) NOT NULL,
userage INT ,
usersex VARCHAR(20),
birth TIMESTAMP,
roles_id INT,
constraint fk_users_roles foreign key(role_id) references roles(roleid)
);

说明:

1.创建用户表, 添加主键username, 非空约束 userpwd, 外键role_id
2.constraint fk_users_roles可以省略,简写为foreign key(role_id) references roles(roleid)

2.声明主键的方式小结

(1) create table users (
username varchar(50) primary key
);

(2)create table users(
username varchar(50) ,
userpwd varchar(50),
primary key (username)
);

可以声明联合主键
create table users(
username varchar(50),
userpwd varchar(50),
birth datetime,
primary key (username, userpwd)
);

(3)create table users (
username varchar(50),
userpwd varchar(50)
);

alter table users add primary key (username, userpwd);

3创建外键的方式小结

(1)create table users(
username varchar(50),
role_id int ,
constraint fk_users_roles foreign key (role_id) references roles(roleid)
);

可以添加两个主键
CREATE TABLE roles_menus (
roles_id INT ,
menus_id INT,
PRIMARY KEY (roles_id, menus_id),
CONSTRAINT fk_users_roles FOREIGN KEY (roles_id) REFERENCES roles(roleid),
CONSTRAINT fk_users_menus FOREIGN KEY (menus_id) REFERENCES menus(menuid)
);

(2)create table users(
username varchar (50) primary key,
role_id int
);

alter table users add constraint fk_users_roles foreign key (role_id) references roles(roleid);


4.其它的常用的命令

show datebases; //查看所有的数据库
use usersys; //使用名字叫usersys 的数据库
show tables; //查看当前数据库中所有的表单
desc users //查看创建的users 表的字段信息

5.MySQL 数据类型

int 整型

double 浮点型

double(6,2) 表示 总位数6位 小数点后2位

varchar 可变长度字符

varchar(10)  'aa' 占两个字节   
数据库中 utf-8编码(出中文外一个字符一个字节,中文占3个字节 )

char 不可变长度字符串类型

char(10) 10表示的是字节数  'aa '占十个字节 

日期类

date 日期形 yyyy-MM-dd 格式

time 事件形 hh:mm:ss

timestamp 时间戳 yyyy-MM-dd hh:mm:ss 注意时间戳在mysql中会自动的赋值 在insert 语句中给null 就可以

datetime 日期时间 yyyy-MM-dd hh:mm:ss

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值