表结构的修改
Alter table 表名
后接:
Add :增加新的字段及各种该列的各种属性和约束(用after和first来控制插入字段的位置)
Modify:修改原字段的数据类型或各种约束条件
Change:修改原字段名
Drop:删除字段
Rename to 新表名。
注意:float(m,n)规定显示的位数不能超过不超过m位,其中小数点后n位数字;9999.999(5,3)999.99
1、查看当前数据库字符集;
show variables like "%char%";
2、查看表的字符集;
show create table 表名;
3、查看某个表所有字段的字符集
注:建立外键,外键和它关联键数据类型,字符集都要一样
show full columns from 表名;
4、插入记录
4.1向表中所有字段插入
(2019010101,张三,2020010101,广东省,信息工程)
(1)语法:
insert into 表名
(sno,name,classno,address,sdept)
values
(2019010101,"张三",2020010101,"广东省","信息工程");
(2)语法:
insert into 表名
values
(2019010101,"张三",2020010101,"广东省","信息工程");
4.2向表中部分字段插入记录
例如:
insert into 表名
(sno,name,address)
values
(数据1,数据2,数据3);
4.3多条记录插入
insert into 表名
(字段.....)
values
(第一条记录),
(第二条记录),
......
(第n条记录);
欣欣,花花,丽丽
2019010104,欣欣,2020010101,广东省深圳市,信息工程
2019010105,花花,2020010101,广东省深圳市,信息工程
2019010106,丽丽,2020010101,广东省深圳市,信息工程
注:如果的数据不是纯数字的,这时候必须要用引号括起来;
5、更改表的字符集;
alter table 表名 convert to charset 字符集;
alter table 表名 convert to charset utf8;
6、更改表名
alter table 原表名 rename to 新表名;
对表属性以及结构没有影响;
7、字符集操作
内容:
1、查看当前数据库的字符集;
show variables like "%char%";
utf8是通用的字符集,保证不乱码;
2、查看某一个表的字符集;
show create table 表名;
3、查看某个表所有字段的字符集;
show full columns from 表名;
8、向表里面插入内容
8.1 向表中所有字段插入记录:
insert into 表名
(字段1,字段2,.....字段n)
values
(内容1,内容2,......内容n);
可以简写
insert into 表名
values
(内容1,内容2,......内容n);
8.2向表中部分字段插入记录
insert into 表名
(字段m,字段n)
values
(内容m,内容n);
(2020010102,88.899,99.999,100.999,111.999)
插入的内容不是纯数字的话,要用""括起来;
9、更改表的字符集
alter table 表名 convert to 字符集;
注意:如果出现插入中文乱码
1、使用show create table 表名;查看字符集
2、如果不是utf8格式的话,改为字符集为utf8
alter table 表名 convert to charset utf8;
10、给表重命名
alter table 原表名 rename to 新表名;
对表结构和属性没有影响;
11、向表中添加新的字段
alter table 表名 add新字段名 数据类型
[约束条件][first|after 已存在的字段];
例1:alter table 表名 add 字段名 数据类型 [属性];
插入之后,位于表中的最后一个字段;
例2:alter table 表名 add字段名 数据类型[属性] first;
新加入的字段是表中的第一个字段;
例3:alter table 表名 add 新字段名 数据类型after旧字段名;
位置是位于你规定的旧字段的后面;
12、删除表中的某一个字段
alter table 表名 drop字段名;
例如:alter table grade drop web;
13、修改字段数据类型、字符集;
Alter table 表名 modify字段名 数据类型;
14、修改字段名
Alter table 表名 change原字段名 新字段名 数据类型[属性];
综合题型练习:
(1)在LibraryManager数据库里新建reader(reader表)
not null
create table reader(
rno char(10) primary key,
rname char(20) not null,
rphone char(11) not null);
(2)查看读者表的字符集类型;
show create table reader;
(3)如果读者表的字符集不为utf8格式,请将表字符集改为utf8格式;
alter table reader convert to charset utf8;
(4)向表中插入三位读者信息:
2019010101,珂珂,13333333333
2019010102,里斯,18888888888
2019010103,萧瑟,19999999999
insert into reader
(rno,rname,rphone)
values
(2019010101,"珂珂",13333333333),
(2019010102,"里斯",18888888888),
(2019010103,"萧瑟",19999999999)
ENGINE=InnoDB DEFAULT CHARSET=utf8;
(5)将表名reader改为reader_info;
alter table reader rename to reader_info;
(6)向reader表中加入新的字段rID(读者身份证),要求数据类型为varchar(18),位于表中的第一个字段
alter table reader add rID varchar(18) first;
(7)向读者表中加入新的字段rAddress(读者地址),数据类型为varchar(20),位于字段rname后面;
alter table reader add rAddress varchar(20) after rname;
(8)将字段rAddress的数据类型改为varchar(50);
alter table reader modify rAddress varchar(50);
(9)向reader的字段rno,rname插入信息2019010104,李彦;
insert into reader
(rno,rname)
values
(2019010104,"李彦");
(10)将字段rADS删掉;
alter table reader drop rADS;