zoukankan      html  css  js  c++  java
  • 基本sql语句--增删改查

    insert into 表名 values (值1,值2...);
    也可以指定所要插入的列:
    insert into 表名 (列1,列2...) values (值1,值2...);
     
    注:一般MySQL的字符集是utf-8的,若我们使用的客户端默认的编码方式不是utf-8,则sql语句中有中文时会有编码错误;
         可以通过先声明字符集进行规避该问题:set names gbk;
     
    插入多条数据:
         
    INSERT INTO good
    (name,age,tel)
    VALUES
    ('张飞',79,'110'),
    ('赵云',69,'112'),
    ('黄忠'59,'135');
     
     
    delete from 表名 where 列名=值;
     
    update 表名 set 列名=新值 where 列名=值;
     
    select 列名 from 表名;
     
    字段数据类型:
    整型
         tinyint
              微小的整型,占1个字节,表示数字大小0~255.
              若要表示负数,用最高位来标识符号位,1表示负数;则取值范围:-128~127(只有后7位表示绝对值,最高位表示的符号).
         smallint
         mediumint
         int
         bigint
         
    类型 字节 无符号 有符号
    tinyint 1 8 0~2^8-1 -2^7~2^7-1
    smallint 2 16 0~2^16-1 -2^15~2^15-1
    mediumint 3 24 0~2^24-1 -2^23~2^23-1
    int 4 32 0~2^32-1 -2^23~2^23-1
    bigint 8 64 0~2^64-1 -2^63~2^63-1
     
    注意:tinyint默认是有符号的存储范围是-128~127之间,可以通过整型列的可选属性进行修饰,在类型后面跟unsigned进行修饰,可使类型无符号表示。
              tinyint(M) unsigned zerofill
              M:宽度(在0填充时才有意义)---M值在zerofill时才有意义
              unsigned:无符号类型(非负)---无符号显示,影响存储范围
              zerofill:0填充,(默认无符号)---某列若设置了zerofill,则默认是unsigned(无符号),且整列数值长度相同,前面用0做填充,数据总长度为M。
     
    小数型
         浮点型
              声明:float(M,D)
         定点型
              声明:decimal(M,D)----比浮点型更精确
         M:精度(总位数,不包含点);以(6,2)为例,存储范围为:-9999.99~9999.99
         D:标度(小数位)
    注意:float和decimal类型在数据库存储中字节数是固定的(4个字节或8个字节),跟M,D的参数没必要联系
     
    字符型
         char:定长字符串,char(M)M代表宽度,可容纳的字符数
         varchar:变长字符串,varchar(M)M代表宽度,可容纳的字符数
         char和varchar的区别:
              1.char定长,最大M个字符,若存入数据小于M的N个字符,实占M个字符,若不够则内部用空格补齐(尾部);M代表宽度,0<=M<=255;
              2.varchar变长,最大M个字符,若存数据小于M的N个字符,实占N个字符;M代表宽度,0<=M<=65535(以ascii字符为例,utf-8大约22000左右);
              3.对于char类型,若存储数据尾部有空格,则取出时空格会被去掉,造成数据不对;
              4.在空间利用上,varchar更优,在处理速度上,char更优;
         text:文本串,可以存储比较大的文本段,搜索速度稍慢,且不能设置默认值。
     
    时期/时间型
         year:年类型--1个字节,表示1901~2155之间的整数,为防止出错,还有一个0000年(输入非法字符时转成0000)
              注,若输入的是两位数字,“00-69”,则表示2000--2069年;
                    若输入的两位数字,“70-99”,则表示1970--1999年
         date:日期类型,典型格式1992-08-12
              日期类型表示的时间范围:'1000-01-01'------'9999-12-31'
         time:时间类型,典型格式:hh:mm:ss
              time值的取值范围:‘-838:59:59’---'838:59:59'
         datetime:日期时间类型,典型格式:1985-05-06 12:38:02
              datetime取值范围:1000-01-01 00:00:00---9999-12:31 23:59:59
    设计表时,字段的数据类型要重点考虑两个方面:1.占据空间,2.存储范围;
  • 相关阅读:
    Hibernate——openSession和getCurrentSession区别
    Oracle存储过程分页 详解
    如何破解mysql数据库的密码
    Oracle约束详解
    Oracle分页查询
    Oracle如何管理权限和角色
    悲观锁和乐观锁详解
    Oracle控制结构详解
    Rose建模之各模型分析
    div布局中将页面居中的方法
  • 原文地址:https://www.cnblogs.com/skyline1011/p/5939492.html
Copyright © 2011-2022 走看看