zoukankan      html  css  js  c++  java
  • MySQL--表操作1

    这是对自己学习燕十八老师mysql教程的总结,非常感谢燕十八老师。

    依赖软件:mysql

    系统环境:win

    注:本次所有命令都是在命令行上执行

    数据库的四大天王操作:增删改查

    增删改查都是在对表进行操作的,所以第一步是建表,

    建表前需要的知识储备:数据类型,存储引擎

    数据类型:数值型,字符型,日期/时间型、NULL类型

    数值型

    整型

    可选参数

    unsigned:无符号类型

    zerofill:0填充(默认无符号)

    M:宽度(在0填充的时候才有意义)

    tinyint(M) unsigned zerofill

    类型 字节 最大值(带符号/不带符号) 最小值(带符号/不带符号)
    tinyint 1 -128/0 127/255
    smallint 2 -32768/0 32767/65535
    mediumint 3 -8388608/0 8388607/16777215
    int 4 -2147483648/0 2147483647/4294967295
    bigint 8 -9223372036854775808/0

    9223372036854775807/

    18446744073709551615

    浮点型

    float(M,D)M:精度,D:标度

    定点型

    decimal(M,D)M:精度,D:标度


    字符型

    类型 说明 典型声明方式 范围
    char 定长字符串 gender char(1)

    charn(M) 0<=M<=255

    varchar 变长字符串 email varchar (20) varchar(M) 0<=M<=65535
    text 文本串 content text 约2W-6W个字符

    日期/时间型

    类型 名称 字节 格式 范围
    date 日期 3 YYYY-MM-DD 1000-01-01~9999-12-31
    time 时间 3 HH-MM-SS -838:59:59~838:59:59
    datetime 日期时间 8 YYYY-MM-DD HH-MM-SS

    ‘1000-01-01 00:00:00’

    ~

    ‘9999-12-31 23:59:59’

    year 年份 1 YYYY 1901~2155

    NULL类型

    1、NULL:不是假也不是真,而是空

    2、任何类型,任何运算符,任何判断符和NULL结合,结果都为NULL

    3、NULL的判断只能用 is null、is not null

    4、NULL影响查询速度,一般避免使用NULL

    建表

    # 语法 []内为可选参数
    create table tbname(
    列名 列类型 [列参数] [not null default ] ,
    ......
    列名 列类型 [列参数] [not null default ]
    )engine myisam charset utf8;
    
    #示例
    create table goods(
      goods_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
      cat_id smallint(5) unsigned NOT NULL DEFAULT '0',
      goods_sn varchar(60) NOT NULL DEFAULT '',
      goods_name varchar(120) NOT NULL DEFAULT '',
      click_count int(10) unsigned NOT NULL DEFAULT '0',
      goods_number smallint(5) unsigned NOT NULL DEFAULT '0',
      market_price decimal(10,2) unsigned NOT NULL DEFAULT '0.00',
      shop_price decimal(10,2) unsigned NOT NULL DEFAULT '0.00',
      add_time int(10) unsigned NOT NULL DEFAULT '0',
      is_best tinyint(1) unsigned NOT NULL DEFAULT '0',
      is_new tinyint(1) unsigned NOT NULL DEFAULT '0',
      is_hot tinyint(1) unsigned NOT NULL DEFAULT '0'
    )engine myisam charset utf8;

    增加数据

    # 语法
    insert into表名
    (列名,....列名)
    values
    (值1,....值n),
    ......
    (值1,....值n);
    
    # 示例
    insert into goods
    (goods_id,cat_id,goods_sn,goods_name,click_count,goods_number,market_price,
    shop_price,add_time,is_best,is_now,is_hot)
    values
    (1,4,'ECS000000','KD876',7,1,1665.60,1988.00,124583,1,1,1),
    (2,4,'ECS000001','诺基亚N97',7,1,3665.60,3588.00,124585,1,1,1);

     添加其他表中的数据

    # 语法
    insert into dtname.tbname
    select 列名1,......,列名n from dtname.tbname

    # 示例
    insert into goods.goods
    select
    goods_id,cat_id,goods_name,goods_number
    from shop.goods;

    增加列

    # 语法
    alter table 表名 add 列名 列类型 列参数
    # 指定添加在某列后面(可选)
    after 某列名
    # 指定添加在某列前面(可选)
    first 某列名
    
    # 示例
    alter table goods add shop_price decimal(8,2) not null default 0.0;

    修改列类型

    # 语法
    alter table 表名 modify 列名 列类型 列参数
    
    # 示例
    alter table goods modify shop_price float(8,2) not null default 0.0;

    同时修改列名和列类型

    # 语法
    alter table 表名  change 旧列名 新列名 列类型 列参数;
    
    alter table goods change 
    shop_price now_shop_price decimal(8,2) not null default 0.0

    删除列

    # 语法
    alter table 表名 drop 列名;
    
    # 示例
    alter table goods drop now_shop_price;

    修改数据

    # 语法
    update 表名 set 列名=修改的内容 where 表达式;
    
    # 示例
    update goods
    set goods_name='诺基亚123'
    where goods_id=4;

    删除数据

    # 语法
    delete from 表名 where 表达式;
    
    # 示例
    delete from goods where goods_id=6

    查看数据

    查看数据在初级数据库工作中非常重要,所有这里只简单说明下,下一篇专门讲

    # 语法
    select 查看的列名 from 表名
    
    # 示例
    select * from goods;
    由于mysql版本的变化,语法可能存在一定的变化,欢迎指出错误和评论区讨论
    打破当前不满足的方式就是当下默默努力!!!
  • 相关阅读:
    【kafka学习之五】kafka运维:kafka操作日志设置和主题删除
    【Redis学习之十一】Java客户端实现redis集群操作
    FastDFS:Java客户都实现文件的上传、下载、修改、删除
    DevOps之四:Git & GitLab
    代码静态检查Eclipse插件:SonarLint插件离线安装
    DevOps之三:CentOS7.3 安装部署Jenkins(三种方式) & Hudson
    DevOps之三:Maven私服Nexus使用 && 清理nexus历史镜像
    DevOps之三:搭建Maven私服Nexus
    DevOps之二:搭建SVN服务器(SvnAdmin)
    财务对账
  • 原文地址:https://www.cnblogs.com/Pang-Jie/p/10889332.html
Copyright © 2011-2022 走看看