Mysql基础

来源:互联网 发布:vs编写windows程序 编辑:程序博客网 时间:2024/06/06 03:15

  • 数据库基本操作
    • mysql中的注释
    • 使用数据库
    • 创建表
    • minmaxsumsqrtrand
    • concat 拼接字符串
    • where语句
      • 查找年龄在20岁到30岁之间的学生
      • 筛选出姓张的同学也就是以张开头
      • 查询名字中带宝字的同学也就是只要包含宝
      • 查询名字中以好字结尾的同学也就是以好结尾
    • order by 排序
    • 在表之间进行查询
    • 增删改查
    • 事务处理

数据库基本操作

mysql中的注释

两个短横线加一个空格

-- 这是MySQL中的注释写法

使用数据库

use db_mydata ;

创建表

CREATE TABLE `db_mydata`.`students` (

min()/max()/sum()/sqrt()/rand()

查出一个年龄最大的学生查出出生年份最小的也就是年龄最大的select min(birthdate) from db_mydata.student//rand()随机数,用于产生验证码返回01之间的数字

concat() 拼接字符串

select concat(name,' ',age) from students

where语句

查找年龄在20岁到30岁之间的学生

select * from students where age >= 20 and age <=30 ;select * from students where age between 20 and 30 ;

筛选出姓张的同学(也就是以张开头)

select * from students where name like '张%' ;

查询名字中带宝字的同学(也就是只要包含宝)

select * from students where name like '%宝%' ;

查询名字中以’好’字结尾的同学(也就是以好结尾)

select * from students where name like '%好' ;

order by 排序

由小到大排序

筛选学生,根据年龄右小到大(ASC可省略)select * from students order by age ASC

由大到小排序

筛选学生,根据年龄右大到小select * from students order by age DESC

在表之间进行查询

-- 学生表students     班级表classes-- 学生表的字段( id name class_id )-- 班级表的字段( class_id class_name )-- 多表查询要关联字段where * from students,classes where students.class_id = classes.class_id-- 会将两个表的内容综合显示,既有学生表的信息又有班级表的信息,并且有两个class_id且值都是一样的-- 加上删选条件-- 只显示学生表里的学生名字,只显示班级表里的班级名where students.name , classes.class_name from students,classes where students.class_id = classes.class_id

增删改查

insert into students (id , name  , age , class ) values(9,'tom',18,'一班');

//删除id为9的学生delete from students where id = 9 ;//删除所有id为8的学生delete fromg students where id=8 ;

//将id为8的学生名字改为tomupdate students set name='tom' where id = 8 ;//将id为8的学生名字改为tom,age改为19update students set name='tom',age=19 where id = 8 ;

事务处理

  • 特点
    上班打卡是一个事务,我们打卡了但是打卡机没有记录我们不愿意看到,我们没有打卡但是打卡机自动记录了这是公司不愿意看到的。打卡了系统一定要记录打卡,没有打卡系统一定要记录没有打卡,这叫事务。

    • 原子性:确保工作单元内的所有操作都成功完成,否则事务将被终止在故障点和以前的操作将滚回到以前的状态
    • 一致性:确保数据库正确地改变状态后,陈宫提交的事务。
    • 隔离性:使事务操作彼此独立的和透明
    • 持久性:确保提交的事务的结果或效果的系统出现故障的情况下任然存在
  • 控制事务处理

    • 管理事务处理的关键在于将SQL语句组分解为逻辑快,并明确规定数据核实应该回退,何时不应该回退。
    • 开启事务:start transaction 或 begin
    • 提交事务(关闭事务) commit
    • 放弃事务(关闭事务)rollback
  • 设置事务处理

    • 数据库是自动提交我们在这里改为事务处理也就是手动提交 set autocommit=0 ;
    • 开启新事务 start transaction
    • 执行操作 delete from students 删除所有学生
    • 发现上面数据误操作了,因为删除了所有学生执行rollback; 回滚操作
    • 如果发现操作正常,就是要删除所有学生。执行commit
//关闭自动提交set autocommit = 0 ;//开启事务start transaction update students set name='jack' where id = 9 ;update students set age = 19 where id  8 ;//提交commit;
0 0
原创粉丝点击