SQL基本操作 - 新增、查看、修改、删除数据表

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/AnonymousRookie/article/details/51175544

1. 新增数据表

create table [if not exists] 表名(
字段名字 数据类型,
字段名字 数据类型 -- 最后一行不需要逗号
)[表选项];

if not exists: 如果表名不存在,就创建,否则不执行创建代码。
表选项:控制表的表现
    字符集:charset/character set 具体字符集; -- 保证表中数据存储的字符集
    校对集合:collate 具体校对集;
    存储引擎:engine 具体的存储引擎(innodb和myisam)

-- 创建表
create table if not exists t_student(
name varchar(10),
age int
)charset utf8;    



任何一个表的设计都必须指定数据库。

方案1:显式的指定表所属的数据库
create table 数据库名.表名(); -- 将当前数据表创建到指定的数据库下


方案2:隐式的指定表所属数据库。先进入到某个数据库环境,然后这样创建的表自动归属到
某个指定的数据库。
进入数据库环境:use 数据库名字;



当创建数据表的SQL指令执行之后,到底发生了什么?
1. 指定数据库下已经存在对应的表;
2. 在数据库对应的文件夹下,会产生对应表的结构文件(跟存储引擎有关系)




2. 查看数据表


数据库能查看的方式,表都可以查看。

2.1 查看所有表:show tables;


2.2 查看部分表,模糊匹配
show tables like 'pattern';


2.3 查看表的创建语句
show create table 表名;

-- 查看表的创建语句
show create table t_student;
show create table t_student\g    -- \g 等价于 ;
show create table t_student\G    -- \G 将查到的结构旋转90度,变成纵向





2.4 查看表的结构:查看表中的字段信息
desc 表名/describe 表名/show columns from 表名;

desc t_student;
describe t_student;
show columns from t_student;




3. 修改数据表

表本身存在,还包含字段。表的修改分为两个部分:修改表本身和修改字段
 
3.1 修改表本身
表本身可以修改 表名 和 表选项

3.1.1 修改表名
rename table 旧表名 to 新表名;
-- 重命名表:t_student ==> t_stu
rename table t_student to t_stu;

3.1.2 修改表选项
修改字符集,校对集和存储引擎
alter table 表名 表选项 [=] 值;
-- 修改表选项:字符集
alter table t_stu charset = GBK;

3.2 修改字段
字段操作很多:新增、修改、重名、删除

3.2.1 新增字段
alter table 表名 add [column] 字段名 数据类型 [列属性][位置];
位置:字段名可以存放到表中的任意位置
First: 第一个位置
After: 在哪个字段之后:after 字段名;默认是在最后一个字段之后
-- 给学生表增加ID放到第一个位置
alter table t_stu add column id int first;

3.2.2 修改字段
修改通常是修改属性或者数据类型
alter table 表名 modify 字段名 数据类型 [属性][位置];
-- 将学生表中的number学号字段变成固定长度,且放到第二位(id之后)
alter table t_stu modify number char(10) after id;

3.2.3 重命名字段
alter table change 旧字段 新字段名 数据类型 [属性][位置];
-- 修改学生表中的gender字段为sex
alter table t_stu change gender sex varchar(10);

3.2.4 删除字段
alter table 表名 drop 字段名;
-- 删除学生表中的年龄字段(age)
alter table t_stu drop age;

如果表中已经存在数据,那么删除字段会清空该字段的所有数据(不可逆)



4. 删除数据表
drop table 表名1, 表名2...; -- 可以一次性删除多张表

当删除数据表的指令执行之后发生了什么?
1. 在表空间中,没有了指定的表(数据也没有了)
2. 在数据库对应的文件夹下,表对应的文件(与存储引擎有关)也会被删除

注意:删除有危险,操作需谨慎!(不可逆)


展开阅读全文

没有更多推荐了,返回首页