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