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
總結
以上是生活随笔為你收集整理的MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法--360面试:使用递归实现:a0=
- 下一篇: 深入理解Java原始数据类型和包装类关于