mysql 表的操作

来源:互联网 发布:ichat for mac 编辑:程序博客网 时间:2024/06/07 00:54

1.创建一个student表:

    CREATE TABLE `student` (      `id` bigint(20) NOT NULL AUTO_INCREMENT,      `name` varchar(20) DEFAULT NULL,      `age` int(11) DEFAULT '18',      PRIMARY KEY (`id`)    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

执行后:

2.查看表的对象信息

    //在student表上右击,选对象信息,然后点击DDL查看student表的对象信息,如下:student表的对象信息    CREATE TABLE `student` (      `id` bigint(20) NOT NULL AUTO_INCREMENT,      `name` varchar(20) DEFAULT NULL,      `age` int(11) DEFAULT '18',      PRIMARY KEY (`id`)    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如下图:

3.添加sex列

    //1.alter table xxx add  xxx xxx ;  第一个xxx是表明,第二个是xxx:要添加的列,第三个是:列的属性。注意:添加完后记住要查看表的对象信息是否添加成功    alter table student add  sex int(10) ;    //2.刷新,查看表的对象信息:    CREATE TABLE `student` (      `id` bigint(20) NOT NULL AUTO_INCREMENT,      `name` varchar(20) DEFAULT NULL,      `age` int(11) DEFAULT '18',      `sex` int(10) DEFAULT NULL,  //已添加sex字段      PRIMARY KEY (`id`)    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

执行sql语句:

4.修改sex列

    //1.alter table 表名 MODIFY 要修改列名 要修改列的类型;    alter table student MODIFY sex char(10);    //2.刷新,查看表的对象信息:    CREATE TABLE `student` (      `id` bigint(20) NOT NULL AUTO_INCREMENT,      `name` varchar(20) DEFAULT NULL,      `age` int(11) DEFAULT '18',      `sex` char(10) DEFAULT NULL,//已将int修改成char      PRIMARY KEY (`id`)    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

5.删除sex列

    //1.alter table 表名 drop 列名;    alter table student drop  sex;    //2.刷新,查看表的对象信息:    CREATE TABLE `student` (      `id` bigint(20) NOT NULL AUTO_INCREMENT,      `name` varchar(20) DEFAULT NULL,      `age` int(11) DEFAULT '18',                                //已添加sex字段      PRIMARY KEY (`id`)    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

约束

6.给name添加唯一约束

    //1.ALTER TABLE  表名 ADD unique(列名);    ALTER TABLE `student` ADD unique(`name`);    //2.刷新,查看表的对象信息:    CREATE TABLE `student` (      `id` bigint(20) NOT NULL AUTO_INCREMENT,      `name` varchar(20) DEFAULT NULL,      `age` int(11) DEFAULT '18',      `sex` int(10) DEFAULT NULL,      PRIMARY KEY (`id`),      UNIQUE KEY `name` (`name`) //添加了唯一约束    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

添加外键约束

    //alter table 表名 add constraint 外键名 foreign key(外键字段名) REFERENCES 外表表名(外表主键字段名);    alter table student add constraint key_dept_id foreign key(dept_id) REFERENCES dept(id);

视图

7.创建视图

    //create or REPLACE view 视图名 AS SELECT 该视图要返回的列 from 表名 where age>10    create or REPLACE view v_student AS SELECT name,age from student

创建后如图:

8.查询创建视图

    //SELECT * from 视图名;    SELECT * from v_student;

9.删除创建的视图

    //drop view 视图名;    drop view v_student;

索引

10.给sex创建索引

    //CREATE INDEX 索引名 ON 表名 (列名);    CREATE INDEX index_student ON student (sex);    //2.刷新,查看表的对象信息:    CREATE TABLE `student` (      `id` bigint(20) NOT NULL AUTO_INCREMENT,      `name` varchar(20) DEFAULT NULL,      `age` int(11) DEFAULT '18',      `sex` int(10) DEFAULT NULL,      PRIMARY KEY (`id`),      UNIQUE KEY `name` (`name`),      KEY `index_student` (`sex`)// 创建了一个index_student索引    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

11.查看表的索引

    //SHOW INDEX in 表名    SHOW INDEX in student    //SHOW INDEX from 表名    SHOW INDEX from student

执行后如下图:

12.删除在sex列创建的索引

    //第一种(简单,推荐):alter table 表名 drop index 索引名    alter table student drop index index_student    //第二种:DROP index 索引名 ON 表名 (列名);    DROP index `index_student` ON `student` (sex);

执行后如下图:

0 0