mysql创建表操作
- 查询字符集
show variables like 'character_set_client';
- 创建一个数据库,存在就不创建
create database if not exists 库名;
修改表的字符集为gbk
alter table 表名 character set 什么编码
alter table test character set gbk - 查询代码的书写顺序和执行顺序
重点记一下
查询语句书写顺序:select – from- where- group by- having- order by-limit
查询语句执行顺序:from - where -group by - having - select - order by-limit
创建表
create table 表名 (
字段名1 类型 (宽度) 约束条件,
字段名2 类型(宽度) 约束条件,
字段名3 类型(宽度) 约束条件,
.......
);
常用数据类型:
int:整型
double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
char:固定长度字符串类型; char(10)
varchar:可变长度字符串类型;varchar(10)
text:字符串类型;
blob:字节类型;
date:日期类型,格式为:yyyy-MM-dd;
time:时间类型,格式为:hh:mm:ss
timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss 会自动赋值
datetime:日期时间类型 yyyy-MM-dd hh:mm:ss
create table class
(
code varchar(20) primary key,
name varchar(20)
// primary ke (需要设置主键的字段名)放末尾这样设置 其他外键设置查不多。放前面和放后面的语言需要注意一下。
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
// ENGINE=InnoDB DEFAULT CHARSET=utf8; 这只引擎为innoDB,默认字符集为utf8
create table student
(
code varchar(20) primary key,
name varchar(20),
sex bit,
age int,
class varchar(20),
foreign key (class) references class(code)
// 外键的代码代表公式:foreign key (字段名) references 主表名 (主表的字段名),当然一个表的多个字段可以是外键。
//外键列的数据类型一定要与主键的类型一致 切记
);
create table kecheng
(
code varchar(20) primary key,
name varchar(20)
);
create table teacher
(
code varchar(20) primary key,
name varchar(20)
);
create table chengji
(
ids int auto_increment primary key,
scode varchar(20),
kcode varchar(20),
degree float,
foreign key (scode) references student(code),
foreign key (kcode) references kecheng(code)
);
create table tkecheng
(
ids int auto_increment primary key,
tcode varchar(20),
kcode varchar(20),
foreign key (kcode) references kecheng(code),
foreign key (tcode) references teacher(code)
);
- 注意点
同一张表中,字段名不能相同
字段名和类型必须有
宽度和约束条件为可选项
类型包含长度的,在类型后面加(括号),括号里面写长度
上一列写完加逗号
最后一列不要写逗号
在每一条SQL语句写完之后要加分号;
如果有外键关系,先创建主表
约束
自增长代码代表:auto_increment
主建的代码代表:primary key 外键的代码代表公式:foreign key (字段名) references 主表名 (主表的字段名) fornign key+(列名) 代表给哪一个加外键 references 要引用哪个表里的列 是否为空: 不为空的代码:not null 唯一性约束(unique) 默认(default)
MySQL SQL语句总结 | |
---|---|
库: | CREATE, DROP, SHOW, USE |
表: | CEATE ,DROP, DESC,SHOW,RENAME,ALTER |
字段: | ALTER ..CHANGE, ALTER...MODIFY, ALTER...ADD, ALTER...DROP |
记录: | INSERT INTO ... ,UPDATE..SET...WHERE...,DELETE FROM...WHERE... |