SQL语句:
- 数据库:
- create database db1;
- drop database db1;
数据表
先创建tb2部门表
create database tb1用户表(
- id int not null auto_increment primarykey,
- name char(10),
- department_id int,
- constraint fk_1 foreign key (department_id) references 表名(tid) -) engine=innodb default charset=utf8;
#主键:一个表只能有一个主键,一个主键可以由多个列组成
数据行
增删改查
insert into tb1(name,age) values ("alex",18);
- delete from tb1;
- truncate table tb1;
- delete from tb1 where id >10;
- update tb1 set name ='root' where id >10;
- select * from tb;
自增
- desc tb1;
- show create table tb1;
- show create table tb1;
- alter table tb1 AUTO_INCREMENT=20;
自增步长
基于会话级别(只有登录方可有效果)
- show session variables like 'auto_inc%' ; #查看全局变量
- show session auto_increment_increment=2;
基于全局级别(只要设置,谁登陆都有效果)
- show global variables like 'auto_inc%'; set global
auto_increment_increment=2;
唯一索引
- create table tb1
- ( id int..., num int,
- xx int,
- unique uql (num)
- ); #加速查找
外键的变种
a.用户表和部门表
用户:
- 1 alex 1
- 2 root 2
- 3 egon 2
- 4 lee 3
部门:
1. 服务
2. 保安
3. 公关
# 一对多
用户表和博客表
用户表:
1. alex 1
2. root 2
3. egon 3
4. lrr 4
博客表:
- FK() + 唯一
1. xxxxxxx 1
2. yyyyyy 2
3. zzzzzz 3
4. ffffaada 3\
# 一对一
#多对多