数据库的增删改查及建表

增删改查
表的增删改查

create database 表
create table 表名(属性);

常用约束:
主键约束:primary key
唯一约束:unique [key]
默认约束:default
外键约束:foreign key
自动增长:auto_increment

drop databases 表名;
drop table 表名;

alter databases 表名 set 字符集;

show databases;
show tables;

数据的增删改查

insert into 表名 values(属性值);

delete 表名 where 列名=值;

updata 表名 set 列名=值(修改后的值) where 列名=值(修改前的值或需要修改的列的id或name)

select*from 表名

举例

create table person(
id int,
name varchar(20),
cardid int
);

create table card(
id int,
name varchar(20)
);

insert into card values('1','饭卡'),('2','健身卡'),('3','水卡'),('4','银行卡'),('5','油卡');

insert into person values('1','张三',1),('2','李四',3),('3','王五','5');

update person set cardid = 6 where cardid = 5;
//修改

select*from person inner join card on person.cardid=card.id;

//内联查询,两张表中的数据,通过木个字段相对,查询出相关记录数据

select*from person left join card on person.cardid=card.id;

//左外连接,会把左边的表里面的所有数据取出来,而右边表中的数据,如果有相等的就显示出来,如果没有就会补null

`select*from person right join card on person.car`did=card.id;

//右外连接,会把右边的表里面的所有数据取出来,而左边表中的数据,如果有相等的就显示出来,如果没有就会补null

select*from person full join card on person.cardid=card.id;
//mysql不支持全连接full
//要想全连接如下

select*from person left join card on person.cardid=card.id
union
select*from person right join card on person.cardid=card.id;

事务回滚:撤销sql语句执行效果

rollback;

设置 mysql 自动提交为 false
自动提交

select @@autocommit=1

手动提交

set autocommit=0;

//mysql默认自动为1,设置为0,才可rollback撤回操作

commit;

//手动提交数据,变回1
//事务开启之后,一旦commit提交,就不可以回滚。

还原

set autocommit=1;

手动开启事务

begin;
或
start transaction;

事务的四大特征
A 原子性:事务是最小的单位,不可以分割。
C 一致性:十五要求,同一事物中的sql语句,必须保证同时成功或同时失败
I 隔离性:事务1和事务2之间具有隔离性
D 持久性:事务一旦结束(commit,rollback),就不可以返回

查看隔离级别

select @@global.tx_isolation;
select @@tx_isolation;
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值