MySQL数据库操作

接着上文所讲述的内容:

1.数据化结构语言中的DML与DQL

      a)DML 是数据操作语言 ----主要指的是 增、删、改

      b)DQL 是数据查询语言 ----主要做的就是查询

2.MySQL的存储类型:

    有  MyISAM  、InnoDB  、Memory 、CSV 9种

    主要分析一下MyISAM 与InnoDB的区别:

          a)使用MyISAM:不需事务处理,空间小,主要是进行访问、查询的

          b)使用InnoDB  :   主要是进行删除 、 更新操作 、事务处理以及并发控制 , 关键是安全性高啊!

3.查看当前默认的存储引擎语法:

         SHOW  VARIABLES  LIKE 'storage_engine%'

  修改存储引擎: default-storage-engine = InnoDB

例子:设置表的存储引擎

          CREATE  TABLE `myclass`(

               id INT(4)

)ENGINE = MyISAM ;

4.下面呢,就要聊到有关DML语句的一系列操作了

      (1)插入单条数据记录语法:

                       INSERT INTO  表名(字段列表名)

                       VALUES (值列表)

我们需要注意,值列表跟字段名列表必须一一对应!多个列表多个之间使用逗号隔开

如果插入表中部分数据,字段名列表必须填写!

我们来看一下具体的例子,操作还是挺简单的:

           INSERT INTO `student`(`studentNo`,`studentName`,`phone`,`bornDate`)
           VALUES('01','张三',1,'13929220222','1999-11-8') ;

      (2)插入多条数据记录语法:

                         INSERT INTO 新的表名(字段名列表)
                         VALUES (值列表1),(值列表2),……,(值列表n) ;

我们也写个例子,方便理解:

              INSERT INTO `subject`(`subjectName`,`classHour`,`gradeID`)
              VALUES('Logic Java',220,1),('HTML',160,1),('Java OOP',230,2);

特别要注意的:为了避免结构化发生变化,导致错误发生,建议大家最好在插入数据时写明具体字段名!!

5.将查询到的结果插入到一个新的表中,咱举个例子吧

      CREATE TABLE `phoneList`(
         SELECT `studentName`,`phone`
      FROM `student`) ;

当然了,这是新表不存在的情况;存在的,就会报错!而且不能重复创建


6.数据的更新

先来看一看语法结构:

        UPDATE 表名
        SET 字段1=值1,字段2=值2,…,字段n=值n
        WHERE 后面跟的是条件 ;
咱们来看一下实例,很简单  (首先这个存在吧,才能去更新;还有更新的字段原先得有

           CREATE TABLE `student`(
          `age`INT(4) NOT NULL COMMENT'年龄',
          `name`VARCHAR(50)NOT NULL COMMENT'姓名',
          `address`VARCHAR(255)DEFAULT'北京海淀区航天桥'
        );
        UPDATE `student` SET `address`= '航天桥'
        WHERE `address`= '北京海淀区航天桥' ;

有更新数据就有删除数据,这儿有两种方法可以执行操作:

        a)  DELETE  FROM  表名   WHERE +条件 ;

        b)  TRUNCATE  TABLE  表名 ;     (执行速度比上面的快)     

        用法:DELETE FROM student WHERE studentName = ‘王大’;
                  TRUNCATE TABLE student;

7.最后我们看一看 查询语法:

       a) 有关排序的       SELECT    <可填的内容列名|表达式|函数|常量>
                                   FROM        表名
                                   WHERE   + 查询条件表达式
                                   ORDER BY  排序的列名  [ASC或DESC];         
DESC指的从高到低排序,不写就默认是正序

       看一下例子:   SELECT `studentNo`,`studentName`,`phone`,`address`,`bornDate`
                              FROM `student`
                              WHERE `gradeId` = 1
                              ORDER BY `studentNo` ;
      

          b) 列别名,用AS命名列:

                 SELECT `studentNo`  AS  学生编号,`studentName` AS  学生姓名,`address ` AS  学生地址 
                 FROM `student`
                 WHERE `address` <> ' 北京海淀区 ' ;


8.常用函数----聚合函数
         
                 AVG( )         ---------------     返回某字段平均值 
                 COUNT( )    ---------------     返回...........行数
                 MAX( )         ---------------     返回最大值
                 MIN ( )         ---------------     返回最小值
                 SUM( )         ---------------     返回某字段和


         示例:        SELECT AVG(age),MAX(age) FROM student
                            
                           SELECT CONCAT('my','s','q','l')      #结果是连接成 mysql
                           SELECT UPPER('mysql')                  #改成大写
                           SELECT CURDATE()                        #获取当前日期
                           SELECT DATEDIFF('2018-1-29','2018-2-1')  #算两个时间的距离






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值