MySQL增删改查操作
增删改查操作
查询表中的所有的记录:select from 表名(xs)
创建数据库:create database if not exists xsgl;
8.2创建表:cerate table if not exists(判断是否存在) 表名(xsb)
8.3删除:drop database if exists 数据库名 (xsgl)
向表中插入记录:
insert into 表名(xsl) values(‘081101’,’王琳’,’计算机’,’女’,’1990-2-10’,50,null,null);
insert into xsl(学号,姓名,总学分)values(‘王燕’,50);
insert into xsl set 学号=’081104’,姓名=’韦言平’,性别=’男’,出生日期=’1989-3-12’;
注意:(必须在打开数据库的情况下才能创建表和插入记录)创建表:
创建表:
create table if not exists 表名(学号 char(6) primary key not null,姓名 char(4),专业 varchar(100),性别 char(1),出生日期 date,总学分 decimal(4.1),照片 blob,备注 text);
例:创建成绩表
Create table if not exists cjb(学号 char(6) not null,课程号 char(3) not null,成绩 decimal(4.1),Primary key(学号,课程号));
复制表
A. 复制表的结构:create table xs2(复制后生成的表名) Like xs1 (被复制表名);
B. 复制表中的数据:Create table xs3(复制后生成的表名) as select from xs1(被复制表名);
修改表的结构
添加字段:alter table xs2 add 家庭住址 varchar(100) after(指定放在哪个字段后面) 总学分;
//向xs2表中添加字段“家庭住址”。
删除字段:Alter table xs2 drop 家庭住址;
将xs2表中的家庭住址字段删除。
添加主键:Alter table xs3 add primary key(学号);
//在xs3表的学号字段上添加一个主键。
删除主键:Alter table xs3 drop primary key;
//删除xs3表中的主键;
注意:一个表中只有一个主键。
添加默认值:Alter table xs3 alter 专业 set default ‘汽车维修’;
//为专业字段设置一个默认值为“汽车维修”。
6. 删除默认值:Alter table xs3 alter 专业 drop default;
//删除xs3表中专业字段的默认值。
7.修改字段的类型、字符集:Alter table xs3 modify 姓名 varchar(100) character set utf8;
//将xs3表中的姓名字段类型改为varchar(100),字符集改为utf8。
8.修改字段的名称、类型:Alter table xs3 change 专业 专业名 varchar(100);
//将专业字段改名为专业名。
9.查看表的信息:Show create table xs3;
//查看xs3表的信息。
10.查看MySQL数据库中默认的存储引擎:Show engines;
11.修改表的存储引擎:Alter table kc(表名) engine=myisam(存储引擎);//将kc表存储引擎改为myisam。
12.查看mysql服务器支持的字符集:Show character set;
13.修改表的字符集:Alter table xs3 default charset=utf8;
//将xs3表的字符集改为utf8。
修改表中的数据
1、 将xs3表中的学号为081101的姓名改为张杰:
Update(刷新) xs3 set 姓名=’张杰’ where(那里) 学号=’081101’;
如要修改多个则用英文逗号隔开。
2、 删除表:Drop table xs3;//删除xs3表。
3、 将kc2表中的学分小于5分的每条记入加0.5分:Update kc2 set 学分=学分+0.5 where 学分=85;
4.在xsl表中查询出计算机专业的男生学号,姓名,专业和性别Select 学号,姓名,专业,性别 from xsl where 专业=’计算机’ and 性别=’男’;
注意:两个条件要同时满足,使用and(而且),表示逻辑与运算
在xsl表中查询出学号为081101和081106的两条记录Select from xsl where 学号=’081101’ or 学号=’081106’;
注意:两个条件只要满足其中的一个就可以了,使用or(或者),表示逻辑或运算在xsl表中查询出非通信工程专业的学生的记录
Select from xsl where 专业’通信工程’;
Select from xsl where 专业!=’通信工程’;
Select from xsl where not 专业=’通信工程’;
注意:逻辑非运算,not表示当前条件之外的。表示多个或运算时用in。
例:select from xs where 学号 in(‘081101’,’081105’,’081108’ );
在xsb中查询出学号不是081101、081103和081107的记录
Select from xs where 学号 not in(‘081101’,’0881102’,’081103’);
Select from xs where not 专业=’计算机’;
注意:逻辑非运算,not in表示不包含,如果是单个条件就在where后面加上not。
9.使用between••••••and表示两个数值之间或两个日期之间的与运算的条件查询,Not between ••••••and 表示不在莫两者之间的条件查询;
例:在成绩表中查询成绩在60到85之间的记录
Select from cj where 成绩>=60 and 成绩=’1989-1-1’ and 出生日期=75 order by 2 desc;