数据库操作1.创建数据库
create database 数据库名;
create database 数据库名 charset=utf8; #显示中文编码
2.删除数据库
drop database 数据库名;3.切换数据库
use 数据库名;4.查看当前的数据库
select database();
表操作1.查看当前的数据库中所有的表
show tables;2.创建表
null 可以为空notnull 不能为空
auto_increament 表示自动增长
primary key 表示约束(不能重复,不能为空);加速查找
一个表中只能有一个自增列,和一个主键
如果是auto_increament,就必须为primary key,否则报错
对于自增补充:
用于更改自增的id值,比如删掉几个数据行之后,想接着已有的id顺序进行增长,可以设置AUTO_INCREMENT
desc t10;
show create table t10;
show create table t10 \G;
alter table t10 AUTO_INCREMENT=20;
MySQL: 自增步长
基于会话级别:
show session variables like 'auto_inc%';查看步长变量
set session auto_increment_increment=2; 设置会话步长 每加一个id自增2
# set session auto_increment_offset=10; 起始值
基于全局级别:
show global variables like 'auto_inc%'; 查看全局变量
set global auto_increment_increment=2; 设置会话步长
# set global auto_increment_offset=10;起始值
SqlServer:自增步长:
基础表级别:
CREATE TABLE `t5` (
`nid` int(11) NOT NULL AUTO_INCREMENT,
`pid` int(11) NOT NULL,
`num` int(11) DEFAULT NULL,
PRIMARY KEY (`nid`,`pid`)
) ENGINE=InnoDB AUTO_INCREMENT=4, 步长=2 DEFAULT CHARSET=utf8
CREATE TABLE `t6` (
`nid` int(11) NOT NULL AUTO_INCREMENT,
`pid` int(11) NOT NULL,
`num` int(11) DEFAULT NULL,
PRIMARY KEY (`nid`,`pid`)
) ENGINE=InnoDB AUTO_INCREMENT=4, 步长=20 DEFAULT CHARSET=utf8
外键的创建
mysql> create table department(
-> id int autoincrement primary key,
-> title varchar(32))engine=innodb default charset=utf8;
mysql> create table user(
-> id int auto_increment primary key,
-> name varchar(32),
-> department_id int,
-> foreign key(department_id) references department(id));
create table 表名(列及类型)
例如:
create table students(
id int auto_increment primary key,
name varchar(32) notnull
);
create table students(
id int auto_increment primary key,
name varchar(32)
) default charset=utf8;create table students(
id int auto_increment primary key,
name varchar(32)
)engine=innodb default charset=utf8;innodb 支持事务,比如两个人互相转账,这边刚转突然断电,可以回滚到原来的状态
myisam 不支持事务3.修改表
alter table 表名 add/change/drop 列名 类型;
如:
alter table students add birthday datatime;4.清空表
deletefromstudent;再次插入数据的话id会在原来的id上增加,不会从1开始
truncate table student;再次插入数据id会从1开始,如果数据量大的话truncate会比delete快的多5.删除表
drop table 表名;6.查看表结构
desc 表名;7.更改表名称
rename table 原表名 to 新表名;8.查看表的创建语句
show create table 表名;