mysql 表的操作

原创 2016年08月30日 13:00:17

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);

执行后如下图:

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

mysql数据库表操作语句

  • 2014年09月26日 11:00
  • 15KB
  • 下载

Python中使用SQLAlchemy连接Mysql数据库(单表操作)

一,SQLAlchemy的安装 使用$ easy_install sqlalchemy 或 $ pip install sqlalchemy如果出现什么错,就进去root用户下进行安装...

MySql数据库的基本操作-表数据中的 设置外键约束

创建数据表,观察其引擎:show create table provinces; ******** ENGINE=InnoDB 证明,引擎为InnoDB引擎。 创建三次才成功: ***...

操作、压缩MDB文件;使用ADO读写Mysql数据库;建立数据库和表的VBS脚本代码(2013-08-26 11:39:34)

 mysql数据库sql语句: UPDATE user_wealth SET Gold=9999999 WHERE UserID=164 CALL sp_user_login('t1', '...

MySQL数据库创建和表操作

MySQL数据库创建和表操作 简要: 1.显示所所有的库 mysql> show databases; +--------------------+ | Database        ...

mysql分库分表实战及php代码操作完整实例

当单表达到几千万时,查询一次要很久,如果有联合查询,有可能会死在那 分库分表主要就是解决这个问题,减小数据库的负担,缩短查询时间 分库: 1)按功能分 用户类库、商品类库、订单类库、日志类...

MySQL数据库操作以及创建、修改和删除表

一、对数据库的操作1、登录数据库系统mysql -h localhost -u root -p2、显示所有数据库show databases;3、创建数据库create database 数据库名;4...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql 表的操作
举报原因:
原因补充:

(最多只允许输入30个字)