mysql分析表增删改统计_mysql 数据表和数据的增删改查

数据表:

增:alter table表名add字段 约束;       #表中增加一个字段

删:alter table表名 drop字段;             #表中删除一个字段

改:alter table表名modify字段 约束;    #不改字段名字,只改约束,比如字段类型

alter table表名change原字段名 新字段名 约束;#字段重新命名,虽然只是重命名字段,但是后面的约束即使不变,也不能省略

查:desc表名;

表中数据:

增:insert into 表名 values(字段、约束)

改:update 表名 set 字段=新值,字段=新值 where 更改的地方  #where后面比如 id = 多少,name=多少等等,若不加where条件限制,则整个字段全改:例如:updatestudentset age = 30 where id=10;         #将id为10的记录中的age改为30

查:select* from表名wherename="小明"#查询表中所有name=小明的记录,不加where查询整个表

删:delete from 表名 where ...                                             #删除where后面的条件符合记录,不加where清空整个数据表

修改添加字段:

student表中添加一个birthday字段,字段类型datetime:

alter table student add brithday datetime;

@修改birthday字段类型为date,不修改字段名:

alter table student modify brithday date;

@修改brithday字段名为brith

alter table student change brithday birth date;

删除字段:

从student表中删除high字段:

alter table student drop high;

删除数据表:

drop table 表名

显示表创建的信息:

show create table 表名

表中插入记录:

全列插入:根据字段顺序每一个字段按顺序依次插入

创建class表,并向class中插入五条记录:  #数据表class有id 和 name 两个字段

1、create tableclass(idint unsigned auto_increment not null, name varchar(30));

2、insert intoclassvalues(0, 'python');

3、insert intoclassvalue(0, 'c++');

4、insert intoclassvalues(0, 'java');

5、insertintoclassvalues(null, 'vb');

6、insert intoclassvalues(default,'c#')

说明:可以发现上面几行插入记录中的insert into 中,行2用的是value,行3用的是values,其实两个都可以的。

另外,每次插入时,id都用的0,这样就是每次插入的id自动增长(创建主键时用了auto_increment),除了0,null 和 default也是一样的效果,都是自动生成id

当然可以插入一条记录时自己设置一个id,如果自己设置了一个id是100,那么插入下一条记录id用0的话,这条记录的id就是101

再者,枚举的字段中,比如性别字段枚举了("男","女","中性"),向这个字段添加记录时,可以:

insert into表名values("男");

insert into表名values("女");

也可以:

insert into表名values(1);

insert into表名values(2);

部分插入:

创建一个student表,包含id、name、age、class、gender五个字段:

create table student(id int unsigned not null auto_increment primary key, name varchar(20), age int unsigned, class int gender enum("男","女"));

全列插入:

insert into student(0,"小明",20,3,"男"); == insert into student(null,"小明", 20, 3, 1);

部分插入:

insert intostudent(name, age) values("小明", 20)

多行插入:

insert intostudent(name, age)values("小明",30), ("小花",20);

insert intostudentvalues(0, "小明",30, 3, 1), (0, "小花", 30, 3, "女");

数据的增删改查:

updatestudentset gender="男";                                        #把表student中的gender字段全部改成“男”

updatestudentset gender="女" where name="小明";        #把name字段中所有“小明”的gender改成“女”

updatestudentset gender="女"where id=16;#将id为16的一行记录中的gender改为“女”

将id为12的一行记录中的age改为100,性别改为“男”:

updatestudentset age=100, gender="男" whereid=12;         #set 后面可以添加多个要更新的字段,where后面是条件(要更新的对象)

查询表中记录:

查询表中所有记录:

select * from表名;

条件查询:

select * from表名where id >6;   #查询id>6的记录

select name, age from表名;      #只查询name,age, 后面同样可以加where

select name as 姓名, age as 年龄 from表名;    #给列的名字起一个别名

删除数据:

物理删除,真的删除:

delete from表名;  #清空数据表,整个表中数据全部删除

delete from表名where   #where后面的条件删除

逻辑删除,只是标记为删除,给表添加一个字段,在此列中标记:

例如给student添加一个is_del字段:

alter table student add is_del bit default 0;   #添加一个字段,默认值为0,因为此字段数据类型是bit,在查询表的时候0不会显示

如果要将id=10的记录标记为删除,可以修改它的is_del字段值不为0,比如为1:

update student set is_del where id=10;

这样在查询所有表时,where后面加一个is_del=0的条件,就不会显示id=10的那条记录了,因为它的is_del字段不等于0:

select * from student where is_del=0;

...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值