• 肖sir__mysql之单表__004


    mysql之单表

    一、建表语句
    1、show databases 查看所有的数据库
    在这里插入图片描述
    2、create databaes 数据库名 创建数据库
    在这里插入图片描述
    3、use 数据库名 指定使用数据库
    在这里插入图片描述
    4、show tables ;
    在这里插入图片描述
    5、创建表
    格式:create table 表名 (字段名1 数据类型1(字符长度),字段名2 数据类型2(字符长度));
    案例:create table aa(sid int(10),math int(10) );
    在这里插入图片描述
    6、插入数据:
    方法一:插入全部的数据
    格式:insert into 表名 values (“值1”,“值2”)
    在这里插入图片描述
    方法2:插入部分的数据
    insert into 表名(字段值1) values (“值1”)
    在这里插入图片描述
    7、查看数据:查看所有内容
    格式:select * from 表名
    案例:select * from aa
    在这里插入图片描述

    8、desc 查看表结构的数据
    格式: desc 表名
    案例 :desc aa;
    在这里插入图片描述1、查数据库 show databases
    2、创建数据库 create database
    3、使用数据库 use
    4、查询所有的表:show tables
    5、建表 create table
    6、对表格插入数据 insert into
    7、查询表格中所有数据 select
    8、查看表结构 desc

    ===============================
    字符类型
    1、一个汉字占多少 长度和编码有关(gbk和utf -8这些都是字符集格式)
    utf -8 :一个汉字等于3个字节
    gbk:一个汉字等于2个字节
    2、常用类型
    (1)字符类型
    char 字节数 :4 定长字符串 0-255字节
    varchar 字节数 :8 变长字符串 0-65535字节
    在这里插入图片描述
    (2)数值类型
    int 字节数:4 大整数值
    bigint 字节数:8 极大整数值
    float 字节数:4 浮点数值
    在这里插入图片描述
    (3)时间类型:
    data 字节数:3 年月日
    time 字节数:3 时分秒
    year 字节数:1 年
    datatime :字节数8 年月日+时分秒

    在这里插入图片描述

    约束
    一、约束实际上就是表中的限制
    二、约束的种类
    1、主键约束(primary key ) 简称: pri 保证字段的唯一性,一个表中只有一个主键,主键的内容不能为空;
    2、唯一约束(unique) 简称: uni 保证字符具有唯一性,一个表中可以有多个,唯一约束的内容可以为空
    3、默认值(default )
    4、非空约束(null)
    5、auto_incrment 自增长 ,一般和主键一起使用
    6、保证中文显示:在建表的语句后加上:deafault charset=utf8
    格式:
    create table 表名 (字段1 数值类型1(字符长度1) 主键约束 , 字段2 字符类型2(字符长度2) ,字段3 数值类型(字符长度) 唯一约束,
    字段4 数值类型(数值长度) 默认字段约束, 字段名5 年份类型 非空约束)default charset=utf8;

    案例:
    create table ss(id int(20) primary key,name varchar(20) ,sfz bigint(50) unique,age int(10) default 18,n year not null)default charset=utf8;
    在这里插入图片描述
    INSERT into ss VALUES(1,“陈鑫”,‘3456678’,20,‘2000’) ; 插入语句

    在这里插入图片描述

    删除表(删除表和表中数据)
    1、drop table 表名;
    案例:drop table aa;

    2、删除表数据
    (1)格式:delete from 表名 删除表数据
    案例:delete from ss
    (2)格式:delete from 表名 where 条件 删除表中指定数据
    delete from ss where id =2;
    3、truncate 快速删除表中数据
    格式:TRUNCATE 表名 ;
    案例:TRUNCATE cc ;drop >truncate>delete

    =============================
    表结构:
    (1)添加表字段 add
    格式:ALTER table 表名 add 新增字段名 新增字符类型(新增字符长度);
    案例:ALTER table cc add chinese int(10);

    在这里插入图片描述
    (2)修改表字段 change
    格式:ALTER table 表名 change 旧字段 新字段 新字段类型(新字段长度);
    案例:ALTER table cc change age math int(10);
    在这里插入图片描述
    (3)删除字段 drop
    格式:ALTER table 表名 drop 旧字段;
    案例:ALTER table cc drop math;
    在这里插入图片描述
    (4)调换字段顺序
    a、调换到第一位 :first
    格式:ALTER table 表名 add 新增字段名 新增字符类型(新增字段长度) FIRST;
    案例:ALTER table cc add math int(10) FIRST;
    在这里插入图片描述
    b、modify after (在什么的后面)
    (1)新增字段移动到已存在字段的后面
    格式:ALTER table 表名 MODIFY 新的字段名 新增字符类型(新增字段长度) AFTER 旧字段 ;
    案例 :ALTER table cc MODIFY chinese int(10) AFTER id ;
    在这里插入图片描述
    (2)已存在的字段移动到已存在字段的后面

    格式:ALTER table 表名 MODIFY 旧字段名1 字符类型1(字段长度1) AFTER 旧字段2 ;
    案例 :ALTER table cc MODIFY chinese int(10) AFTER sfz ;
    在这里插入图片描述

    查询语句:
    select 语句
    1、查询一个表中所有的数据 (* 表示所有)
    格式:select * from表名;
    案例:select * from kk;
    在这里插入图片描述
    (2)查询一个表中一个字段或部分字段的数据
    格式:select 字段名1,字段名2 from 表名;
    案例:select fs,id from kk;
    在这里插入图片描述
    (3) 查询字段通过as 取别名
    格式:select 字段名1 as “别名”,字段名2 as “别名2” from 表名;
    案例:select fs as “分数”,id as " 编号" from kk;在这里插入图片描述

    在这里插入图片描述
    (4)select通过指定条件查询内容
    格式:select * from 表名 where 条件;
    条件:
    (1)比较运算符:(>,<,=,!=(不等于),<>(不等于),>=,<=)
    案例:
    在这里插入图片描述

    select * from kk where id=1;
    select * from kk where id>1;
    select * from kk where id<2;
    select * from kk where id<>2;
    select * from kk where id!=2;
    select * from kk where id>=2;
    select * from kk where id<=2;
    (2)and、or 、in、 ont in ,between and , is null ,is not null
    案例:
    1、and 同时满足所有条件 比如:同时满足条件1和条件2 才显示
    格式:select * from 表名 where 条件1 and 条件2;
    案例:select * from kk where id>1 and fs>=90;
    在这里插入图片描述
    2、or 满足所有条件中的其中一个条件就显示 比如:条件1或条件2 只要满足其中一个就可以显示;

    格式:select * from 表名 where 条件1 or 条件2;
    案例:select * from kk where id>2 or fs>=100;
    3、in 在一组数据中匹配(选择数据)
    格式:select * from 表名 where 条件 in( 数据的范围或匹配值);
    案例:select * from kk where id in( 1,5,3,8,9);
    4、not in 匹配不在一组数据中的数据
    格式:select * from 表名 where 条件 not in( 匹配值);
    案例:select * from kk where id not in( 1,5,3);

    5、is null 为空
    格式:select * from 表名 where 条件 is null ;
    案例:select * from kk where fs is null ;
    在这里插入图片描述
    6、is not null 不为空
    格式:select * from 表名 where 条件 is not null ;
    案例:select * from kk where fs is not null ;

    在这里插入图片描述7、order by 排序
    (1)升序: asc (忽略不写)

    格式:
    select * from 表名 order by 字段名 asc;
    select * from 表名 order by 字段名 ;
    案例:
    select * from kk order by id asc;
    select * from kk order by id ;
    截图:
    在这里插入图片描述
    (2)降序:desc
    格式:
    select * from 表名 ORDER BY 字段名 desc ;
    案例:
    select * from kk ORDER BY id desc ;
    截图:
    在这里插入图片描述
    (3)二次排序
    格式:select * from 表名 order by 字段名1 asc,字段名2 desc;
    案例:select * from kk order by id asc,fs desc;
    在这里插入图片描述

    8、like 模糊匹配查询
    (1)%:表示匹配0个字符或多个字符 (通配符)
    (2)_: 表示一个字符
    a、1% 表示1开头的数据
    select * from kk where fs like “1%”;
    b、%2 表示2结尾的数据
    select * from kk where fs like “%2”;
    c、%2% 表示含有2的数据
    select * from kk where fs like “%2%”;
    d、1__ 表示匹配具体的字符数的开头或结尾的数据
    select * from kk where fs like “_1”;
    select * from kk where fs like “1";
    select * from kk where fs like "1
    ”;

    9、limit 显示行数, 限制作用
    limit (m,n) m是索引,从0开始; n是步长,要显示几行
    数据库中的表的索引是从0开始
    格式:select * from 表名 limit 索引值, 步长;
    案例:
    select * from kk limit 0,2 ;
    select * from kk limit 2 ; 默认从0开始,显示2行
    在这里插入图片描述
    10、group by 分组
    (1)分组求出数据
    案例:分组求出数据
    select class,sum(fs) from kk group by class;
    #求出每个班的总分:1,2,3班
    select class,sum(fs)as ‘总分数’ from kk group by class;
    #求出每个班的最低分数:1,2,3班
    select class,min(fs)as ‘最低分数’ from kk group by class;
    #求出每个班的最高分数:1,2,3班
    select class,max(fs)as ‘最低分数’ from kk group by class;
    #求出每个班的平均分数:1,2,3班
    select class,avg(fs)as ‘最低分数’ from kk group by class;
    (2)分组后在接条件,用having 接条件 和我们讲的where差不多
    案例1:直接通函数进行判断
    select class,sum(fs) from kk group by class HAVING sum(fs)>1000 ;
    案例2:将统计出来的字段取别名 as
    select class,sum(fs) as s from kk group by class HAVING s>3000;

    11、函数:
    max 最大值
    min 最小值
    avg 平均值
    count 统计
    sum 总数
    distinct 去重
    案例:
    select max(fs) as '最大分数’from kk;
    select min(fs) as ‘最小分数’ from kk;
    select count(id)as ‘人数’ from kk;
    select sum(fs)as ‘总分数’ from kk;
    select avg(fs)as ‘平分数’ from kk;
    select DISTINCT(class)as ‘班级’ from kk;

    12、改 updtate set
    格式:
    UPDATE 表名 set 字段名=字段值 (修改所有的字段值)
    UPDATE 表名 set 字段名=字段值 where 条件 ; (修改指定条件数据的字段值)
    案例:UPDATE kk set fs=111 where id=18 ;
    截图:
    在这里插入图片描述

    在这里插入图片描述

    13、备份(在数据库中备份数据和表)
    (1)备份表结构(like)
    格式:create table 新表名 like 旧表名;
    案例:create table mm like kk;
    截图:
    在这里插入图片描述
    (2)备份数据
    a、格式:insert into 新表结构 select * from 旧表名 ;
    案例:insert into mm select * from kk ;

    截图:
    在这里插入图片描述
    b、备份指定字段的数据
    格式:insert into 新表结构(新表字段1,新表字段2) select 旧表字段1,旧表字段2 from 旧表 ;
    案例:insert into nn(id,fs) select id,fs from kk ;
    在这里插入图片描述

    (3)备份表结构和表数据
    格式:create table 新表名 as(select * from 旧表名);
    案例:create table xx as(select * from nn);
    截图:
    在这里插入图片描述

    14、备份库
    在linux中备份
    备份:
    格式:mysqldump -uroot -p 存在库>新建数据库文件.sql
    案例:mysqldump -uroot -p dcs35>dcs.sql
    截图:
    在这里插入图片描述
    还原:
    要求:在数据口新建一个空库
    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    一、配置环境
    [附源码]Python计算机毕业设计Django基于Vuejs的中国名茶销售平台
    Java部分面试题(宝典篇)
    虚惊!差一点痛失美团offer,罪魁祸首就是Redis?
    中电金信:深度解析|数字化营销运营体系搭建
    2023年智慧政务一网通办云平台顶层设计与建设方案PPT
    Ubuntu20.04安装和编译运行lidar_align来联合标定lidar与imu的外参
    MySQL 数据类型以及最优选取规则
    java开发的bbs论坛系统博客系统
    自己动手实现一个深度学习算法——六、与学习相关的技巧
  • 原文地址:https://blog.csdn.net/m0_47403059/article/details/132831388