zoukankan      html  css  js  c++  java
  • 1029 MySQL操作表 MySQL操作表数据行

    数据库介绍

    架构关系

    数据库服务器:运行数据库管理软件
    数据库管理软件:管理数据库
    数据库:即文件夹,用来组织文件/表
    表:即文件,用来存放多行内容/多条记录

    mysql账号操作

    mysql基于socket编写的C/S架构软件

    数据库操作

    语法:
    create database 数据库名 charset 字符编码;
    数据库命名规则:
    字母、数字、下划线、@、#、$
    区分大小写
    唯一性
    不能使用关键字,如createselectuse等等
    不能单独使用数字
    最长128位

    语法:
    drop database 数据库名;

    语法:
    改变编码格式
    alter database 数据库名 charset 字符编码;
    改变数据库名称:
    只能删了重建,后续学习如何保存
    drop database 数据库名;
    create database 数据库名;

    语法:
    show databases;

    表操作

    对表结构的操作

    选择表

    语法:
    use 表名;
    唯有此语法不加分号也行

    列约束条件

    auto_increment 自增
    primary key 主键索引,加快查询速度,列的值不能重复
    not null 非空
    default 设置默认值

    列类型

    数字

    整型:
    tinyint
    smallint
    int(*******)推荐使用
    mediumint
    bigint
    整数类型
    取值范围
    unsigned 加上代表不能取负数 只适用于整型
    浮点型:
    float:不一定精确
    decimal(m,d):非常精确的数字,m是数字总个数(负号不算),d是小数点后个数,四舍五入。

    字符串

    char(长度):
    定长,无论插入的字符是多少个,永远固定占规定的长度
    varchar(长度):
    可变长度,根据插入的字符串的长度来计算所占的字节数,但是有一个字节是用来保存字符串的大小的
    注意点:如果不能确定插入的数据的大小,一般建议使用varchar(255)

    时间日期类型

    YEAR
    YYYY(1901/2155)
    DATE
    YYYY-MM-DD(1000-01-01/9999-12-31)
    TIME
    HH:MM:SS('-838:59:59'/'838:59:59')
    DATETIME (********) #最常用的
    YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59 Y)
    TIMESTAMP
    YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)

    枚举类型

    enum():列出所有的选项

    语法:
    创建表
    create table 表名(
    字段1名 数据类型(字符数) 约束条件,
    字段2名 数据类型(字符数) 约束条件
    );
    新增列:
    alter table 表名(
    add 字段名 数据类型(完整的约束条件),
    add 字段名 数据类型(完整的约束条件)
    );
    字段前新增:
    alter table 表名 add 字段名 数据类型(完整的约束条件) first;
    某个字段后新增:
    alter table 表名 add 字段名 数据类型(完整的约束条件) after 字段名;

    语法:
    删除表:
    drop table 表名;
    删除列:
    alter table 表名 drop 字段名;

    改表名:
    alter table 表名 rename 新表名;
    修改字段:
    alter table 表名 modify 字段名 数据类型(完整的约束条件);
    alter table 表名 change 旧字段名 新字段名 新数据类型(完整的约束条件);

    基本结构:desc 表名;或者descirbe 表名;
    更详细定义信息:show create table 表名;

    复制表结构

    create table 表名 like 表名;

    表记录操作

    对表数据的操作

    语法:
    插入完整数据(顺序插入)
    insert into 表名 (字段1,字段2,字段3...字段n) values (值1,值2,值3...值n);
    insert into 表名 values (值1,值2,值3...);
    指定字段插入数据
    insert into 表名 (字段1,字段2,字段3...) values (值1,值2,值3...);
    插入多条记录
    insert into 表名 values (值1,值2,值3...值n),(值1,值2,值3...值n),(值1,值2,值3...值n);
    插入查询结果
    insert into 表1名 (字段1,字段2,字段3...字段n) select (字段1,字段2,字段3...字段n) from 表2名 where ...;

    语法:
    delete from 表名 where 筛选条件; ## 没有where条件,直接删除整个表
    truncate from 表名; ## 没有where条件,直接删除整个表
    delete与truncate的区别:
    delete 之后,插入的数据从上一次主键自增加1开始,truncate则是从1开始
    delete 删除,是一行一行删除,truncate:全选删除,truncate删除的速度是高于delete的

    语法:
    一次只能修改一条记录,可以修改这条记录的多个值
    update 表名 set 字段1名=值1,字段2名=值2,字段3名=值3 where 条件;

    语法:
    select * from 表名;
    select 字段名 from 表名 where 筛选条件; # 没有条件就选中列中所有值
    筛选条件:
    字段名 相关
    > >= < <= != <>
    between ... and...
    in (a,b,c)
    not in (a,b,c)
    like 'x%' 以x开头
    like '%x' 以x结尾
    like '%x%' 包含x
    distinct 避免重复

  • 相关阅读:
    idou老师教你学Istio 19 : Istio 流量治理功能原理与实战
    面对runc逃逸漏洞,华为云容器为您保驾护航
    idou老师教你学Istio 18 : 如何用istio实现应用的灰度发布
    idou老师教你学Istio 17 : 通过HTTPS进行双向TLS传输
    idou老师教你学Istio 16:如何用 Istio 实现微服务间的访问控制
    idou老师教你学Istio 15:Istio实现双向TLS的迁移
    极简容器化交付 | 部署组件分析
    idou老师教你学Istio 14:如何用K8S对Istio Service进行流量健康检查
    Hibernate5笔记9--Hibernate注解式开发
    Hibernate5笔记8--Hibernate事务相关内容
  • 原文地址:https://www.cnblogs.com/793564949liu/p/11762213.html
Copyright © 2011-2022 走看看