==============表操作=================
基本操作:增删改查。
1.创建表和删除表
(1)创建
create
table
[
if
not
exists]
test.student(
name
varchar
(
10
),
age
int
, /* 整型不需要指定具体的长度 */
grade
varchar
(
10
) /* 最后后一行,不需要加逗号 */
)charset utf8;
A: 如果确定没有同名表可以去掉if not exists
B: 如果确定切换到了test数据库,即已经输入过了use test; 可以直接 create table stundent...
(2)删除
drop table + 表
1
, 表
2
… ;(删除是不可逆操作,请谨慎)
2 查询表
(1)查看全部:
show tables;
(2)查看部分:
show tables like 'pattern';
pattern
是匹配模式,有两种”%"和"_”
%
:表示匹配多个字符
_
:表示匹配单个字符
show tables like '%t';
表示匹配所有以
t
结尾的表。
注:
在匹配含有下划线
_
的表名的时候,为了防止冲突,需要在下划线前面加上反斜线
\_
进行转义操作。
(3)查看表的创建语句 :
show create table + 表名;
(4)查看表中的个别字段信息:
desc columns from + 表名;
(5)查看表中所有字段信息:
desc + 表名
;
3 更新表
在这里,需要注意:表的修改,分为修改表本身和修改表中的字段。
第一部分:针对表的操作
(1)修改表名:
rename table 旧表名 to 新表名
(2)修改表选项:alter table + 表名 + 表选项[=] + 值;
alter table table_name engine=innodb;(修改表引擎,外键约束的时候对引擎有要求)
第二部分:针对表中字段的操作
总结:
alter table 表名 + add | modify | change | drop
(1)新增字段
alter table
student
add
column id int first(第一个位置,对应after最后一个位置,也可以after后加列名,往这一列后边添加列属性);
alter table my_pri3
add
primary key(course);
(添加主键)
alter
table
my_foreign2
add
[
constraint
test_foreign](指定外键名:key)
foreign
key
(c_id)
references
class(id);(添加外键)
(2)修改字段
能修改字段类型、类型长度、默认值、注释
alter table
student
modify
name char(10) after id;
(3)重命名字段
alter table
student
change
grade(旧名) class(新名) varchar(10)(列属性);
this part,区分一下两种调整,modify和change
(4)删除字段
alter table student
drop
age;
alter
table
my_pri3
drop
primary
key
;(删除主键)
alter
table
my_foreign1
drop
foreign
key
my_foreign1_ibfk_1;(删除外键)
end
写两条比较鲜明的案例:
(1)在表student的头部加一个名为id的非空自增主键
alter table student add column id int unsigned not null auto_increment primary key first
(2)将性别列加到年级之后
alter table student add column gender int default 0 after grade