MySQL——数据表的基本操作

        在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。

一、创建数据表:
        1.语法规则:
            create table <表名>(
                字段名1,数据类型[列级别约束条件][默认值],
                字段名2,数据类型[列级别约束条件][默认值],
                ...,
                [表级别约束条件]
            );
            案例:
                创建tb_emp1表,SQL语句如下:
                create table tb_emp1(
                    id int(11),
                    name varchar(25),
                    deptId int(11),
                    salary float
                );
            使用show tables语句可以查看数据表是否创建成功。
    
        2.主键约束
            a.单字段主键:
                语法规则一:
                    字段名 数据类型 primary key[默认值];
                    案例:
                    定义数据表tb_emp2,其中主键为id,SQL语句如下:
                    create table tb_emp2(
                        id int(11) primary key,
                        name varchar(25),
                        deptId int(11),
                        salary float
                    );
                语法规则二:
                    [constraint <约束名>] primary key [字段名];
                    案例:
                    定义数据表tb_emp3,其中主键为id,SQL语句如下:
                    create table tb_emp3(
                        id int(11),
                        name varchar(25),
                        deptId int(11),
                        salary float,
                        primary key(id)
                    );
            b.多字段联合主键
                语法规则:
                    primary key[字段1,字段2,...,字段n];
                    案例:
                        定义数据表tb_emp4,假设没有主键id,为了唯一确定一个员工,可以把name、deptId联合起来作为主键,SQL语句如下:
                        create table tb_emp4(
                            name varchar(25),
                            deptId int(11),
                            salary float,
                            primary key(name,deptId)
                        );
    
        3.外键约束
            语法规则:
                [constraint<外键>] foreign key 字段1 [,字段2,...] references <主表名> 主键列1 [,主键列2,...];
                案例:
                    部门表tb_dept的主键是id,在员工表tb_emp5中有一个键deptId与这个id关联。
                    创建部门表tb_dept1,SQL语句如下:
                    create table tb_dept1(
                        id int(11) primary key,
                        name varchar(20) not null,
                        location varchar(50)
                    );
                    
                    定义数据表tb_emp5,让它的键deptId作为外键关联到tb_dept1的主键id,SQL语句如下:
                    create table tb_emp5(
                        id int(11) primary key,
                        name varchar(25),
                        deptId int(11),
                        salary float,
                        constraint fk_emp_dept1 foreign key(deptId) references tb_dept1(id)
                    );
                
        4.非空约束
            语法规则:
                字段名 数据类型 not null;
        
        5.唯一性约束
            语法规则:
                字段名 数据类型 unique;
                
        6.默认约束
            语法规则:
                字段名 数据类型 default 默认值;
        
        7.属性值自动增加
            语法规则:
                字段名 数据类型 auto_increment;
    
    二、查看数据表结构
        1.查看表基本结构语句
        语法规则:
            descirbe 表名;
            desc 表名;
        2.查看表详细结构语句
        语法规则:
            show create table <表名\G>;
        
        
    三、修改数据表
        1.修改表名:
            语法规则:
                alter table <旧表名> rename [to] <新表名>;
                案例:将数据表tb_dept3改名成tb_department3,SQL语句如下:
                    alter table tb_dept3 rename tb_department3;
                
        2.修改字段的数据类型
            语法规则:
                alter table <表名> modify <字段名> <数据类型>;
                案例:将数据表tb_dept1中的name字段的数据类型有varchar(22)修改成varchar(30),SQL语句如下:
                    alter table tb_dept1 modify name varchar(30);
                
        3.修改字段名
            语法规则:
                alter table <表名> change <旧字段名> <新字段名> <新数据类型>;
                案例一:将tb_dept1中的location字段名称改成loc,数据类型保持不变,SQL语句如下:
                    alter table tb_dept1 change location loc varchar(30);
                案例二:将tb_dept1中的loc字段名称改为location,同时将数据类型变为varchar(60),SQL语句如下:
                    alter table tb_dept1 change loc location varchar(60);
                    
        4.添加字段
            语法规则:
                alter table <表名> add <新字段名> <数据类型>;
                场景一:添加无完整性约束条件的字段
                    案例:在数据表tb_dept1中添加一个没有完整性约束的int类型的字段managerId(部门经理编号),SQL语句如下:
                    alter table tb_dept1 add managerId int(10);
                场景二:添加有完整性约束条件的字段
                    案例:在数据表tb_dept1中添加一个不能为空的varchar(20)类型的字段column1,SQL语句如下:
                    alter table tb_dept1 add column1 varchar(20) not null;
                场景三:在表的第一列添加一个字段
                    案例:在数据表tb_dept1中添加一个int类型的字段column2,SQL语句如下:
                    alter table tb_dept1 add column2 int(11) first;
                场景四:在表的指定列之后添加一个字段
                    案例:在数据表tb_dept1中name列后添加一个int类型的字段column3,SQL语句如下:
                    alter table tb_dept1 add column3 int(11) after name;
        
        5.删除字段
            语法规则:
                alter table <表名> drop <字段名>;
                案例:删除数据表tb_dept1中的column2字段
                alter table tb_dept1 drop column2;
        
        6.修改字段的排列位置
            语法规则:
                alter table <表名> modify <字段1> <字段1的数据类型> first|after <字段2>;
                场景一:修改字段为表的第一个字段
                    案例:将数据表tb_dept1中的column1字段修改为表的第一个字段,SQL语句如下:
                    alter table tb_dept1 modify column1 var(12) first;
                场景二:修改字段到表的指定列之后
                    案例:将数据表tb_dept1中的column1字段插入到location字段后面,SQL语句如下:
                    alter table tb_dept1 modify column1 varchar(12) after location;
        
        7.更改表的存储引擎
            语法规则:
                alter table <表名> engine=<更改后的存储引擎>;
                案例:将数据表tb_deptment3的存储引擎修改为MyISAM,SQL语句如下:
                alter table tb_department3 engine=MyISAM;
        
        8.删除表的外键约束
            语法规则:
                alter table <表名> drop foreign key <外键约束名>;
                案例:删除tb_emp5中的外键约束,SQL语句如下:
                alter table tb_emp5 drop foreign key fk_emp_dept1;
            
    四、删除数据库
        1.删除没有被关联的表
            语法规则:
                drop table [if exists]表1,表2,...表n;
                案例:删除数据表tb_dept2,SQL语句如下:
                    drop table if exists tb_dept2;
        
        2.删除被其他表关联的主表
            案例:删除数据表tb_dept1
            step1:删除外键,SQL语句如下:
                alter table tb_emp5 drop foreign key fk_emp_dept1;
            step2:删除表
                drop table tb_dept1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值