文章目录
1.数据库字符集 要设置成utf8
set names gbk;
的方式把mysql接收到数据是的解码格式设置为gbk,这个位置的gbk和数据库还有表的utf8没有关系character-set-server=utf8
点击windows -> 搜索 templates -> 选择SQL下editor下的templates -> New(新建)
主键特点 : 非空 唯一
CREATE TABLE user(id int PRIMARY KEY,age int);
一般和主键一起使用
create table t5(id int primary key auto_increment,name varchar(10));
如果设置了自增长,那么在插入数据的时候主键可以不设置值。也可以赋值为null,数据库会自动为这个主键赋值(在原来的基础上自增+1)
create table user(id int primary key,age int not null);
直接使用
comment
来添加字段注释即可create table t6(id int comment '用户的id',age int comment '用户的年龄');
mysql的自动提交属性自动是开启的,就是每执行一次sql语句就会自动提交,如果需要使用事务功能,那么需要将其关闭,因为一旦提交了,数据就会发生改变,但是事务的功能就是当所有的sql语句都执行完才提交,因此要将其关闭。
show variables like '%autocommit%';
显示为on表示开启的set autocommit=0;
此时再次查询状态就会显示OFFset autocommit=1
开启自动提交,此时查看就实现为onCREATE TABLE USR(id int primary key auto_increment,name varchar(10),money int);
INSERT INTO user values(NULL,'超人',200),(NULL,'蝙蝠侠',205);
update user set money=300 where id=1
commit;
,那么在看看另外的登录窗口就会发现数据改变了。当你之前的操作没有提交的话,那么你使用rollback这个命令,那么就会回滚到初始状态
前提是没有设置了自动提交,才能回滚到保存点
savepint s1(标识);
: 设置保存点 回滚到保存点,那么保存点之前的操作都是存在的,一旦提交之后就会执行保存点之前的操作。rollback to s1;
当将自动提交设置为关闭状态,当改变数据库的内容时,只要手动提交输入
commit;
,才能更新到数据库中,否则就只是在内存中改变了。