为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL8.0零基础入门之从青铜到钻石

难度入门
时长 5小时30分
学习人数
综合评分9.27
8人评价 查看评价
10.0 内容实用
8.8 简洁易懂
9.0 逻辑清晰
  • 语法

    CREATE TABLE 表名(字段名1  字段类型,字段名2 字段类型);//创建表 与字段 

    SHOW TABLES;   // 查看某个数据库的所有表 

    DESC   表名;  //查看表结构

    SHOW CREATE TABLE 表名;  //查看建表的sql语句

    CREATE  TABLE 新表名  LIKE 旧表名 ;// 快速创建一个结构相同的表名

    DROP  TABLE  表名 ; //直接删除表

    DROP TABLE  IF  EXISTS  表名; //判断表是否存在并删除表

    ALTER  TABLE 表名 ADD 列名  类型;//添加列表

    ALTER TABLE 表名 MODIFY  列名  新的类型;//修改列的类型

    ALTER TABLE 表名  CHANGE  旧列名  新列明  类型;// 修改列名ALTER TABLE 表名  

    DROP 列名;//删除列

    RENAME TABLE 表名 TO 新表名;// 修改表名

    ALTER TABLE 表名 character set 字符集;//修改字符集


  • CREATE DATABASE 数据库名; //直接创建数据库
    CREATE DATABASE IF NOT EXISTS 数据库名;//判断是否存在并创建数据库
    CREATE DATABASE 数据库名 CHARACTER SET 字符集;//创建数据库并指定字符集
    SHOW DATABASE;//查看所有数据库
    SHOW CREATE DATABASE 数据库名;//查看某个数据库的定义信息
    ALTER  DATABASE 数据库  DEFAULT CHARACTER SET 字符集;//修改数据库字符集
    DROP  DATABASE  数据库名;//删除数据库
    SELECT DATABASE();  //查看正在使用的数据库
    USE  数据库名; //使用/切换数据库


  • >>>>>>>>>>>>>>>>>>>>>>>>>>>>>数据表命令


    1.建表(模板): 

    * create table 表名 

        ->id int(10),

        ->name varchar(25),

        ->age int

        ->)ENGINE=innodb DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

    * 查看创建表的sql语句:


    * show create table 表名;


    * 快速创建一个结构相似的表:


    * create table 新表名 like 旧表名;


    2.查看数据库有哪些表: 


    * show tables;



    3.查看表结构:


    * desc 表名;


    4.删除表:


    * drop table 表名;


    * 判断表是否存在并删除表:


    * deop table if exists 表名;


    5.修改表结构:


    * 添加表列:


    * alter table 表名 add 列名 类型;


    * 修改列类型:


    * alter table 表名 modify 列名 新的类型;


    * 修改列名:


    * alter table 表名 change 旧列名 intro 类型;


    * 删除列:


    * alter table 表名 drop 列名;


    6.修改表:

    * 修改表名:


    * rename table 表名 to 新表名;


    * 修改表字符集:


    * alter table 表名 character set 字符集;


  • >>>>>>>>>>>>>>>>>>>>>>>>数据库命令


    1.查看所有数据库:show databases;


    * 查看某个数据库的定义信息:


    * show create database 数据库名;


    2.创建数据库: create database 数据库名;


    * 判断数据库是否存在,存在则不创建,不存在则创建


    create database if not exists 数据库名;


    * 创建数据库并指定字符集


    create database 数据库名 character set 字符集;


     

    3.修改数据库字符集格式:


    * alter database 数据库名 default character set 字符集;


    4.删除数据库(删除时没有提示直接删除)


    drop database 库名;


    5.进入某个数据库:

    * use 数据库名;


    6.查看正在使用的数据库:


    * select database();


  • SQl语句的分类:

    DDL,DML,DQL,DCL

    SQL语句之DDL语句:

        DDL语句可以操作数据库以及表的create(创建),drop(删除),alter(修改)等;

    SQL语句之DML语句:

        DML语句对表数据进行insert(插入),delete(删除),update(更新);

    SQL语句之DQL语句:

        SQL语句对表数据进行各种维度select查询:

     

  • DDL 数据定义语言:CREATE,DROP,ALTER

    DML 数据操作语言:INSERT,DELETE,UPTATE

    DQL 数据查询语言:SELECT,WHERE等

    DCL 数据控制语言: GRANT,REVOKE

  • 默认值格式
     字段名 字段类型 DEFAULT


  • 非空约束的基本语法格式
            字段名 字段类型 NOT NULL


  • 唯一约束的基本格式
         字段名 字段类型 UNIQUE
    可以插入多个NULL 值


  • PRIMARY KEY :主键
    UNIQUE : 唯一
    NOT NULL : 非空
    DEFAULT : 默认
    FOREING KEY :外键
    主键的作用 :用来唯一标识一条记录,每个包都应该有一个主键,
           并且每个表只能有一个主键。
    主键的特点 : 
            主键必须包含唯一的值
            之间列不能包含NULL值
    创建主键的方式:
        在创建表的时候给字段添加主键
        字段名 字段类型 PRIMARY KEY 
    主键自增
         AUTO_INCREMENT 表示自动增长(字段类型必须是整数类型的)
      字段名 字段类型 PRIMARY KEY  AUTO_INCREMENT ;
      AUTO_INCREMENT 的开始值是默认1如果希望修改起始值,请使用下列sql
      ALTER TABLE 表名 AUTO_INCREMENT = 起始值 ;


  • PRIMARY KEY :主键
    UNIQUE : 唯一
    NOT NULL : 非空
    DEFAULT : 默认
    FOREING KEY :外键
    主键的作用 :用来唯一标识一条记录,每个包都应该有一个主键,
           并且每个表只能有一个主键。


  • LIMIT是限制的意思,所以LIMIT的作用就是限制查询记录的条数
      SELECT *| 字段列表 [as 别名] FROM 表名 [WHERE 子句] [GROUP BY子句] [HAVING子句] [ORDER BY子句][LIMIT子句] 
      思考:为什么LIMIT子句排在最后
      因为前面所有的限制条件都处理完了,只剩下显示多少条记录的问题了
    LIMIT语法格式
        LIMIT offset,length; 或者 LIMIT length
        offset是指偏移量,可以认为是跳过的记录数量,默认为0
        length 是指需要显示的总记录数
        例子  SELECT * FROM student LIMIT 2,6;
    LIMIT的使用的场景:分页
        如果第一个参数是0 可以简写:
        SELECT * FROM student LIMIT 0,5;
        SELECT * FROM student LIMIT 5;
        LIMIT 10,5;不够5条,有多少显示多少


  • 分组查询是指使用GROUP BY语句对查询信息进行分组,相同数据为一组
        SELECT 字段1 ,字段2...FROM 表名 GROUP BY 分组字段[HAING 条件];
    分组的目的是为了统计, 一般会跟聚合函数一起使用
         注意事项:当我们使用某个字段分组,在查询的时候也需要将这个字段查询出来,
         否则看不到数据属于哪组的
    having是对分组后再次筛选


  • 聚合函数做的是纵向查询,它是对一列的值进行计算,然后返回一个结果值。
            聚合函数会忽略空值
        五个聚合函数
             count :统计指定列记录数,记录为NULL的不统计
             sum   :计算指定列的数值和,如果不是数值类型,那么计算结果为0
             max   :计算指定列的最大值
             min   :计算指定列的最小值
             avg   : 计算指定列平均值,如果不是数值类型,那么计算结果为0   
    聚合函数的使用 :写在SQl语句 SELETC 后字段名的地方
            例如 SELETC COUNT(age) FROM 表名;


  • ORDER BY 子句,可以将查询的结果进行排序 
             排序只是显示方式,不会影响数据库的顺序
    单列排序       
      语法 :SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名[ASC|DESC];
             ASC : 升序 ,默认升序
             DESC : 降序 
    组合排序
        SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名1[ASC|DESC],字段名2[ASC|DESC];

     

  • LIKE 表示模糊查询
    SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串';
        满足通配符字符串规则的数据就会显示出来
    % :表示0个或多个字符(任意个字符)
    _ : 表示一个字符


  • and // 多个条件满足
    or  //多个条件其中一个满足
    not //不满足
    SELECT 字段名 FROM 表名 WHERE 字段 in (数据1,数据2,...);
        // in里面的每个数据都会作为一次条件,只要满足条件的就会显示
    BETWEEN 值1 AND 值2 //表示从值一到值2范围,包头又包尾
        比如: age BETWEEN 35 AND 70
        相当于:age >=35 && age <=70


  •     语法格式 SELECT 字段名 FROM 表名 WHERE 条件;
        流程:取出表中的每条数据,满足条件的记录返回,不满足条件的记录不返回


  • SELECT * FROM 表名;// 查询表所有的数据
    SELECT 字段名1,字段名2,字段名3,... FROM 表名;
        //查询指定列
    SELECT 字段名1 AS 别名,字段名2 AS 别名, FROM 表名;
        //,别名查询 好处方便观看和出路查询到的数据 AS可以不写
    SELECT DISTINCT 字段名 FROM 表名;
        //查询指定列并且结果不出现重复数据 
    SELECT 列名1+固定值 FROM 表名;
        //某列数据和固定值运算
    SELECT 列名1+列名2 FROM 表名;   
        //某列数据和其他列数据参与运算
        参与运算的的必须是数据类型


  • UPDATE:修改数据
    SET:修改哪些字段
    WHERE:指定条件  
    
    UPDATE 表名 SET 字段名=值; //不带条件修改数据
    UPDATE 表名 SET 字段名=值 WHERE 字段名=值; //带条件的修改数据
     
     DELETE FROM 表名; // 不带条件的删除数据
    DELETE FROM 表名 WHERE 字段名=值;// 带条件的删除数据
    TRUNCATE  TABLE 表名;// 删除表记录
     trancale和delete的区别:
        delete是将表中的数据一条一条删除
        truncate是将整个表摧毁,重新创建一个新的表,新表的结构和原来的表的结构一样


  • INSERT INTO 表名1 SELECT * FROM 表名2;
      作用 将表名2的全部数据复制到表名1中
    INSERT INTO 表名1(字段1,字段2,...) SELECT 字段1,字段2... FROM 表名2;
           复制部分数据


  • INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);
     插入记录 注意 值与字段必须对应,个数相同,类型相同
                      值得数据大小必须在字段的长度范围
                      出了数字类型外,其他字段类型的值必须使用一号引起来。(建议单引号)
                      如果要插入空值,可以不写字段,或者插入null
    INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...); 
      // 插入所有字段
    INSERT INTO 表名 VALUES (值1, 值2, ...);
      //不写字段名,值按照表结构的顺序插入数据
    INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, ...);
        //插入部分数据,没有添加数据的字段会使用null


  • where是分组前过滤,having是分组后过滤,where后面不能跟聚合函数,having可以跟聚合函数

    12:31
    看视频
  • CREATE DATABASE 数据库名; //直接创建数据库
    CREATE DATABASE IF NOT EXISTS 数据库名;//判断是否存在并创建数据库
    CREATE DATABASE 数据库名 CHARACTER SET 字符集;//创建数据库并指定字符集
    SHOW DATABASE;//查看所有数据库
    SHOW CREATE DATABASE 数据库名;//查看某个数据库的定义信息
    ALTER  DATABASE 数据库  DEFAULT CHARACTER SET 字符集;//修改数据库字符集
    DROP  DATABASE  数据库名;//删除数据库
    SELECT DATABASE();  //查看正在使用的数据库
    USE  数据库名; //使用/切换数据库


  • 语法
    CREATE TABLE 表名(
    字段名1  字段类型,
    字段名2 字段类型);//创建表 与字段 
    SHOW TABLES;   // 查看某个数据库的所有表  
    DESC   表名;  //查看表结构
    SHOW CREATE TABLE 表名;  //查看建表的sql语句
    CREATE  TABLE 新表名  LIKE 旧表名 ;// 快速创建一个结构相同的表名
    DROP  TABLE  表名 ; //直接删除表
    DROP TABLE  IF  EXISTS  表名; //判断表是否存在并删除表
    ALTER  TABLE 表名 ADD 列名  类型;//添加列表
    ALTER TABLE 表名 MODIFY  列名  新的类型;//修改列的类型
    ALTER TABLE 表名  CHANGE  旧列名  新列明  类型;// 修改列名
    ALTER TABLE 表名  DROP 列名;//删除列
    RENAME TABLE 表名 TO 新表名;// 修改表名
    ALTER TABLE 表名 character set 字符集;//修改字符集


  • sql支持加减乘除运算符,可以直接把两个字段的值进行运算,但sum等聚合函数只能对某一列操作

    16:22
    看视频
  • distinct可以作用于多个字段

    https://blog.csdn.net/syc001/article/details/72841859

    12:57
    看视频
首页上一页123下一页尾页

举报

0/150
提交
取消
课程须知
会使用DOS窗口即可,老师讲带领大家一步一步的学习MySql的基本操作
老师告诉你能学到什么?
1、什么是数据库 2、数据库的安装与卸载 3、SQL基础语法 4、DDL语句--对数据库及表的增删改查 5、DML语句--对数据的增删改 6、DQL语句--对数据的查询 7、数据库表的约束

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!