zoukankan      html  css  js  c++  java
  • mysql的DML语言(需要背下来)(四)

    DML语言重要需要背下来:

    一,添加(insert)

    insert

    --创建gread表与stdent表
    CREATE TABLE `gread` (
      `gradeid` int(10) NOT NULL AUTO_INCREMENT COMMENT '年级id',
      `gradname` varchar(50) NOT NULL COMMENT '年级名称',
      PRIMARY KEY (`gradeid`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
    
    --student表
    CREATE TABLE `student` (
      `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
      `name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
      `pwd` varchar(45) NOT NULL DEFAULT '123' COMMENT '密码',
      `gender` varchar(2) NOT NULL DEFAULT '女' COMMENT '性别',
      `birthday` datetime DEFAULT NULL COMMENT '出生日期',
      `gradeid` int(10) NOT NULL COMMENT '学生的年级',
      `address` varchar(100) DEFAULT NULL COMMENT '家庭住址',
      `email` varchar(50) DEFAULT NULL COMMENT '邮箱',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    
    
    ---插入语句(添加)
    --insert into 表名([字段名1,字段名2,字段名3])values('值1'),('值2'),('值3'),(......)
    --往gread表的gradname字段插入`大二`这个值
    insert into `gread`(`gradname`)values('大二')
    --由于主键自增我们可以省略(如果不写表的字段他们会意义匹配)
    --一般写插入语句,我们一定要数据和字段一一对应!
    --插入多个字段
    insert into `gread`(`gradname`)VALUES('大一'),('大二')
    
    --给sudent插入字段数据
    INSERT INTO `student`(`name`,`pwd`,`gender`)VALUES('张三','aaaaa','男')
    
    INSERT INTO `student`(`name`,`pwd`,`gender`)VALUES('李四','bbbbb','男'),('程序媛','cccccc','女')
    

    格式语法:

    insert into 表名([字段名1,字段名2,字段名3])values('值1'),('值2'),('值3'),(......)

    注意事项:

    1.字段和字段之间使用 英文逗号 隔开

    2.字段是可以省略的,但是后面的值必须一一对应

    3.可以同时插入多条数据,values后面的值,需要使用逗号隔开即可values(),()....

    二,修改(update)

    update 修改谁 (条件) set原来的值=新值

    ---修改  
    --把id=5的name设置为'金融啊'    set设置 wehere在哪里
    UPDATE `student` set `name`='金融啊'WHERE id=5
    
    --如果不带条件where表中的name全部就会变成'金融啊'
    UPDATE `student` set `name`='金融啊'
    --如果在公司写了这样的sql那就赶紧跑路吧(没开日志)
    
    --修改多个属性,逗号隔开
    UPDATE `student` set `name`='王五1',`email`='12548@qq.com' WHERE id=4
    

    语法格式:

    UPDATE 表名 set colnum_name=value WHERE [条件]

    (UPDATE 表名 set 字段名(列名) =值 WHERE 条件)

    -----多个条件

    UPDATE 表名 set colnum_name,colnum_name,colnum_name.....=value WHERE [条件]

    条件:where 子句 运算符 id等于某个值,大于某个值,在某个区间内修改

    操作符会返回布尔值:

    操作符 含义 范围 结果
    = 等于 5=6 false
    !=或<> 不等于 5!=6或5<>6 true
    > 大于
    < 小于
    <= 小于等于
    >= 大于等于
    BETWEEN...AND... 在某个内区间 [2,5]
    AND 我和你&& 5>1and 1>2 false
    OR 5>1and 1>2 true
    --通过多条件定位数据,无上限!
    UPDATE `student` set `name`='王五2' WHERE `name`='王五1' AND `gender` ='男'
    

    语法格式:

    UPDATE 表名 set colnum_name,colnum_name,colnum_name.....=value WHERE [条件]

    注意:

    • colnum_name 是数据库的列,尽量带上``(Tab键上面)
    • 条件,筛选的条件,如果没有指定,则会修改全部列
    • value,是一个具体的值,也可以是一个变量(比如日期)
    • 多个设置的属性之间,使用英文逗号隔开
    UPDATE `student` set `birthday`=CURRENT_TIME WHERE NAME='程序媛' OR `gender` ='女'
    

    三,删除(delete)

    delete命令

    --删除数据(避免这样写)
    DELETE FORM 'student'
    
    --指定的删除
    --删除student表中id为1的数据
    DELETE FORM 'student' WHERE id=1
    

    语法格式:

    DELETE FORM 表名 [where 条件]

    我们清空表中的数据的时候不要用上面的delete,用TRUNCATE

    TRUNCATE 命令

    作用:完全清空一张数据库表,表的结构和约束不会表!

    --清空student表
    TRUNCATE `student`
    

    delete 和TRUNCATE区别

    • 相同点:都能删除数据,都不会删除表的结构
    • 不同:

    ​ TRUNCATE 重新设置自增列计算器会归零

    ​ TRUNCATE 不会影响事务

    测试:

    --测试delete和TRUNCATE区别
    CREATE TABLE `test`(
    
      `id` INT(4) NOT NULL AUTO_INCREMENT,
       `coll` VARCHAR(20) NOT NULL,
    	
      PRIMARY KEY(`id`)
    )ENGINE=INNODB DEFAULT CHARSET=utf8	
    
    INSERT INTO `test`(`coll`)VALUES('1'),('2'),('3'),('4'),('5')
    
    delete from `test`  --不会影响自增
    
    TRUNCATE TABLE `test` --自增会归零
    

    了解即可:delete删除问题,重启数据库,现象

    InnoDB 自增列会重1开始(存在内存当中,断电丢失)

    MyISAM 继续往上一个自增量开始(存在文件中,不会丢失)

    *博客到此,分享一下我学习编程的途径希望大家循序渐进,共同进步:*

    How2J 的 Java教程:当下Java小白的引路人,以有趣和好理解的方式展示Java和Web的内容拥有当今流行的java路线。

    哔哩哔哩 (゜-゜)つロ 干杯~-bilibili:中国最大的学习平台没有之一,拥有海量的资源有时间的小伙伴可以免去重金花钱培训。

    廖雪峰的官方网站廖雪峰,十年软件开发经验,业余产品经理,精通Java/Python/Ruby/Scheme/Objective C等,对开源框架有深入研究..

    菜鸟教程 - 学的不仅是技术,更是梦想!:提供了编程的基础技术教程, 介绍了HTML、CSS、Javascript、Python,Java,Ruby,C,PHP , MySQL等各种编程语言的基础知识。

  • 相关阅读:
    大气散射 Aerial Perspective
    Efficient GPU Screen-Space Ray Tracing
    screen space shadowmap unity
    Scriptable render pipeline unity
    winform学习之----重新绘制边框方法延伸
    winform学习之----将多个控件的click方法绑定到同一click方法中
    winform学习之----进程和线程
    winform学习之----打开文件对话框并将文件内容放入文本框
    winform学习之----Directory
    Winform窗体事件发生顺序
  • 原文地址:https://www.cnblogs.com/jinronga/p/12492454.html
Copyright © 2011-2022 走看看