操作库:
create databases db2;
create databases db2 default charset utf-8; # 整个数据库以utf-8编码
show databases;
drop databases db2;
use db2;
操作表:
show tables;
create table t1(id int,name char(10)) engine=innodb default charset=utf8; # 表后面也要加
create table t1(
列名 类型 null,
列名 类型 not null default 1,
列名 类型 not null auto_increment primary key, # 自增 ,一个表里只能有一个
id int,
name char(10) # 限制长度
) engine=innodb default charset=utf8;
primary key:
表示约束(不能重复且不能为空)
加速查找
一个表里只能有一个,和auto_increment一起用
select * from t1;
insert into t1 (id,name) values(1,'alex'); #
engine: # 在表后面写
innodb 支持事务 原子性操作 是一个整体
myisam 效率更高一些
清空表:
delete from t1; # 不重置序号
truncate table t1; # 重置序号 速度快
删除表:
drop table t1;
对于自增:
decs t10; # 每列信息
show create table t10 \G; # 创建信息,\G表示竖向显示
alter table t10 AUTO_INCREMENT=10; # 自增起始
自增步长:
sql sever有基于表级别的步长
MySQL的步长是基于会话级别:
show session variables like 'auto_inc%'; # 查看会话全局变量
set session auto_increment_increment=2;
set session auto_increment_offset=2; # 起始值,不常用
global # 全局级别,慎用