mysql基础操作:表操作

==============表操作=================

基本操作:增删改查

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 查询表
(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;(修改表引擎,外键约束的时候对引擎有要求)

第二部分:针对表中字段的操作
(1)新增字段

alter table student add column id int first(第一个位置,对应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)(列属性);


(4)删除字段

alter table student drop age;
alter table my_pri3 drop primary key ;(删除主键)
alter table my_foreign1 drop foreign key my_foreign1_ibfk_1;(删除外键)


4 删除表
drop table + 表 1 , 表 2 … ;(删除是不可逆操作,请谨慎)

你可能感兴趣的:(mysql)