目录
创建表
use xscj;
create table xs
(
学号 char(6) not null primary key,
姓名 char(8) not null,
专业名 char(10) null,
性别 tinyint(1) not null default 1,
出生日期 date not null,
总学分 tinyint(1) null,
照片 blob null,
备注 text null
) engine=InnoDB;
engine=innodb表示采用的存储引擎是innoDB。是mysql在windos平台中的默认存储引擎,所以也可以省略。
复制现成的表,结构取自xs,
use xscj;
create table xs1 like xs;
再建一个名为xs2的表,结构和内容(数据记录)都取自xs表
create table xs2 as (select*from xs);
show tables;
修改表结构
在xs2表中增加新的一列“考评”
alter table xs2 add column 考评 tinyint null;
将“考评”列变更为“考评分”
alter table xs2 change 考评 考评分 tinyint;
把一个列的数据类型改为integer
alter table xs2 modify 考评分 integer not null;
修改该表表名
alter table xs2 rename to xs_2;
【例3.5】在xscj数据库的xs表中,增加“奖学金等级”一列,并将表中的“姓名”列删除。
use xscj;
alter table xs
add 奖学金等级 tinyint not null,
drop column 姓名;
describe xs;
表恢复原样
use xscj;
alter table xs
add 姓名 chaar(8) tinyint not null,
drop column 奖学金等级;
describe xs;
删除表
删除 xscj 数据库中的xs2 表
use xscj;
drop table if exists xs2;
show tables;
插入记录
插入新记录
向xscj数据库中的xs表中插入如下一行记录
081101,王林,计算机,1,1994-02-10,50,NULL,NULL
use xscj;
insert into xs
values('081101','王林','计算机',1,'1994-02-10',50,null,null);
若xs表中性别采用默认值,照片和备注为NULL,插入数据也可以使用如下命令。
insert into xs(学号,姓名,专业名,出生日期,总学分)
values('081101','王林','计算机','1994-02-10',50);
insert into xs
values('081101','王林','计算机',default,'1994-02-10',50,null,null);//default:mysql不允许插入函数或表达式,此属性无法用于blob或text列。如果已经为次列指定了NULL属性,没有指定默认值,默认值将为null,否则默认值将依赖于字段的数据类型。
set子句
insert into xs
set 学号='081101',姓名='王林',专业名='计算机',性别=default,出生日期='1994-02-10',总学分=50;
插入照片
insert into xs
values('081102','程明','计算机',1,'1995-02-01',50,'D:\image\picture.jpg',null);
select*from xs;
用下列语句直接存储图片本身
insert into xs
values('081102','程明','计算机',1,'1995-02-01',50,load_file('D:\image\picture.jpg'),null);
select*from xs;
用已有表记录插入当前表记录
向xs1表中插入xs表中的所有记录
use xscj;
drop table if exists xs1;
create table xs1 like xs;
insert into xs1
select * from xs;
select*from xs1;
或者
use xscj;
drop table if exists xs1;
create table xs1 as(select*from xs);
select*from xs1;
替换旧记录
重新插入下列记录
081211,刘华,通信工程,1,1995-03-08,48,NULL,NULL
replace into xs
values('081211','刘华','通信工程',1,'1995-03-08',48,null,null);
修改记录