基本sql语句--增删改查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本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.存储范围;

以上是关于基本sql语句--增删改查的主要内容,如果未能解决你的问题,请参考以下文章

sql语句的增删改查

SQL基础SQL增删改查基本语句

mysql增删改查语句

SQL 的 增删改查 语句?

mysql的增删改查语句

SQL Server增删改查语句