6.表的增删改

创建表:
create table 表名(
字段名a 数据类型 auto_increment,
字段名b 数据类型 not null,
字段名c 数据类型 default '男',
字段名d 数据类型,
primary key(a),
foreign key(d) references 另一个表名(字段名)
);

create table t_a(
id int primary key,
name varchar(20) not null,
age int default 1,
showOne longblob,
photo MEDIUMBLOB
)

 

数据类型:
3大类:数值、字符串、日期
1、数值:整数 int、小数 double ,十进制数DECIMAL decimal(5,2)
2、字符串相关 char定长 varchar变成 blob字节数据 text(clob)字符数据
3、日期时间 date年月日 time时分秒 datetime年月日时分秒
timestamp :记录数据被修改的时间

create table t_a(
id int primary key,
name varchar(20)
)

 

删除表:
drop table 表名。

 


DML : insert 、 delete 、 update

insert into 表名 values(); : 对应的value必须把表的每个字段值都写上,顺序必须对应
t_a(id,name,age)
insert into t_a values(18,'aaa',1);
insert into 表名(字段名1,字段名2...) values(值1,值2...)
insert into t_a(name) values('kkk')
values值的顺序只需要与sql语句中字段顺序一样
如果表的字段不允许为空,则添加数据的时候必须有值。

复制表
insert into 表名(字段名1,字段名2...) select **** from *****....


delete from 表名 where *** ; (如果没有where则是清空表)
删除数据是以行为单位。

update 表名 set 字段1=新值,字段2=新值 where ****
uppate t_student set ssex='女' where ssex='男';
update t_student set sage = sage + 1;

update t_student set sscore = 1
where sage = (select max(sage) from (select * from t_student) as t);

增删改的时候不能from同一张表。


修改表: alter
alter table 表名 add cloumn money(double);

**只修改列的数据类型的方法: 
通常可以写成 alter table 表名 modify column 列名 新的列的类型 
例如:student表中列sname的类型是char(20),现在要修改为varchar(20),SQL语句如下 
alter table student modify column sname varchar(20);

同时修改列名和列的数据类型的方法: 
通常可以写成 alter table 表名 change column 旧列名 新列名 新的列类型 
例如:student表中列sname的类型是char(20),现在要修改为stuname varchar(20),SQL语句如下 
alter table student change column sname stuname varchar(20);**

 

同时更新多个表

update log,test set log.tes = "1",test.test="2"

posted @ 2019-04-04 19:10  makalo  阅读(150)  评论(0编辑  收藏  举报