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

2 篇文章 0 订阅
1 篇文章 0 订阅

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)

 );

//说明: 创建用户表, 添加主键username, 非空约束 userpwd,  外键role_id

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)

);

alert 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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值