一、DML之添加数据
1,储备工作--建表
create table if not exists myempl(
id int, name varchar(15),hire_data date,salary double(10,2));
方式1:一条一条添加数据
1)insert into myempl values(1,'TOM','2001-12-21',3400);(没有指明添加字段)
(注意:一定要按照声明的字段的先后顺序添加)
2)insert into myempl(id, hire_data,salary,name) values(2,'2000-01-02',4000,'Jerry');(指明添加字段)
3)insert into myempl(id, hire_data,salary,name) values(3,'2002-10-11',4600,'TIM'),(4,'1998-11-30',5200,'JIM');(同时插入多条数据)
方式2:将查询结果插入到表中
二、更新数据
1,修改数据
mysql> update myempl set hire_data=curdate() where id=4;
当然,也可以修改一条数据的多个字段:
mysql> update myempl set hire_data=curdate(),salary=salary*1.2 where id=4;
(注意:在修改数据时,可能存在不成功的情况,可能是由于约束的影响造成的)
2,删除数据
语法结构:
delete from ..... where.....
小结:DML操作默认情况下,执行完以后都会自动提交数据。如果希望执行完以后不自动提交数据,则需要使用 set autocommit=false
三、MYSQL相关类型
1,数据类型
常见类型属性:
#创建数据库时指明字符集
mysql> create database if not exists dbtest1 character set 'utf8';
#创建表的时候,指名表的字符集
mysql> create table temp(id int)character set 'utf8';
#创建表,指名表中字段时,可以指定字段的字符集
mysql> create table temp1(id int,name varchar(15) character set 'gbk');
2,整型数据类型
适用场景:
3,浮点类型
4,日期与时间类型
5,文本字符串类型
char类型:
- CHAR(M)类型一般需要预先定义字符串长度,如果不指定(M),则表示长度默认是一个字节
- 如果保存时,数据的实际长度比CHAR类型声明长度小,则会在右侧填充空格以达到长度,当MySQL检索CHAR类型的数据时,CHAR类型的字段会去除尾部的空格
- 定义CHAR类型字段时,声明的字段长度即CHAR类型字段所占的存储空间的字节数
varchar类型:
- VARCHAR(M)定义时,必须指定长度M,否则报错
- MySQL5.0版本以上,varchar(20):指的是20个字符
- 检索VARCHAR类型的字段数据时,会保留尾部留下的空格,VARCHAR类型的字段所占的存储空间为字符串实际长度加1个字节