mysql数据库的基本介绍与操作(第二篇)

1.创建表:

格式:

create table 表名(

列名  类型  是否可以为空,

列名  类型  是否可以为空,

) engine=innodb default charset=utf8;

例子:

create table t_article (
    article_id INT (11) NOT NULL auto_increment,
    article_name VARCHAR (200) NOT NULL,
    article_author VARCHAR (100) NOT NULL,
    article_src VARCHAR (1000) DEFAULT ‘文章来自万方库‘,
    create_time TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间‘,
    primary key (article_id)
) engine=innodb default charset=utf8;

对以上表结构的解释:

not null表示该字段的值不能为null.

auto_increment表示该字段是自动递增的,一张表仅能有一个自增递增字段,并且该自动递增的字段同时必须是主键,自动递增列还可以设置步长与初始值.

刚才上面创建了表t_article,article_id字段为递增字段,在此重新设置递增列.

2.删除表:

drop table  表名; 例子:drop table t_article;

#表如果存在则删除

drop table  if exists 表名;例子:drop table if exists t_article;

#清空表

delete * from t_article;(存在递增字段的话,递增字段的初始值不为1,执行该删除语句后,id的初始值不会重置为1).

truncate table t_article;(存在递增字段的话,递增字段的初始值不为1,执行该删除语句后,id的初始值会重置为1).

3.修改表

#添加列

alter table 表名 add 列名 列类型;   例子: alter table t_article add article_keywords varchar(20);

#删除列

alter table 表名 drop column 列名; 例子: alter table t_article drop column article_keywords;

#修改列

alter table 表名 modify column 列名 类型; 例子: alter table t_article modify column article_src varchar(100);

alter table 表名 change 原列名 新列名 类型; 例子: alter table t_article change article_src article_source varchar(200);

#添加主键:

alter table 表名 add primary key(列名);

例子:alter table t_aricle add primary key(article_name); 执行此语句的时候会发生错误,提示如下:

发生以上错误的原因是:在创建t_article表的时候已经将article_id设置为了主键,但mysql的表只能有一个主键,不能有两个主键,因此这样的设置是错误的.

要想设置article_name为主键,可以使用以下两种解决方案.

方法1:去除t_artilce表的article_id主键,执行:alter table t_article drop primary key;继续执行,发生如下错误:

错误原因已经很明显了,以上的命令是去掉article_id,但是article_id字段被设置为了自动递增,递增列是必须要被设置为主键的,也就是

说递增列是无法解除其主键功能的,那该怎么办? 很简单,去掉article_id字段的自动递增功能呗,去除命令如下:

alter table t_article modify column article_id int(11) not null first;

去除表t_article中article_id的自动递增功能,再去除字段article_id的主键功能,执行结果如下:

very good,这样就可以赋予表t_article中article_name的主键功能了,执行结果如下:

完美,第一种方法演示结束.

方法2:将article_id与article_name设置为联合主键.按照下面四个步骤进行.

第一步:  alter table t_article modify column article_id int(11) not null first; --删除article_id自动递增功能.

第二步:  alter table t_article drop primary key; --删除article_id字段的主键特性.

       第三步 : alter table t_article add primary key(article_id,article_name); --设置article_id与article_name为联合主键.

      第四步 :  alter table t_article modify column article_id int(11) not null auto_increment; --恢复article_id的自动递增功能.

       操作结果如下:

      

#删除主键

alter table 表名 drop primary key;  ----alter table t_article drop primary key;(存在递增列,一定要先删除递增列的自动递增功能,再执行此语句).

原文地址:https://www.cnblogs.com/renwujie/p/10316555.html

时间: 2024-08-30 10:05:10

mysql数据库的基本介绍与操作(第二篇)的相关文章

mysql数据库的基本介绍与操作(第三篇)

最近朋友问了我一个问题:怎样将2000万数据从一个mysql数据库A1的表B实时累加同步到另外一个mysql库A2表B? 这个问题我没遇到过,因此根据自己查看掌握的sql进行了这方面的性能测试,并且积累记录了sql优化的一些基础知识. 前提条件:以上说的库表A1与A2的表结构都一摸一样,两张表的主键为ID,具有自动递增属性. 同步思路很简单,如下: 第一步:创建源库A1与目标库A2的连接,对应的连接分别为源库连接a1conn与目标库连接a2conn. 第二步:通过目标库a2conn查询获取到A2

如何处理Spring、Ibatis结合MySQL数据库使用时的事务操作

Ibatis是MyBatis的前身,它是一个开源的持久层框架.它的核心是SqlMap--将实体Bean跟关系数据库进行映射,将业务代码和SQL语句的书写进行分开.Ibatis是"半自动化"的ORM持久层框架.这里的"半自动化"是相对Hibernate等提供了全面的数据库封装机制的"全自动化"ORM实现而言的,"全自动"ORM实现了POJO与数据库表字段之间的映射并且实现了SQL的自动生成和执行.而Ibatis的着力点,则在于P

如何处理Ibatis结合MySQL数据库使用时的事务操作

Ibatis是MyBatis的前身,它是一个开源的持久层框架.它的核心是SqlMap--将实体Bean跟关系数据库进行映射,将业务代码和SQL语句的书写进行分开.Ibatis是"半自动化"的ORM持久层框架.这里的"半自动化"是相对Hibernate等提供了全面的数据库封装机制的"全自动化"ORM实现而言的,"全自动"ORM实现了POJO与数据库表字段之间的映射并且实现了SQL的自动生成和执行.而Ibatis的着力点,则在于P

在Jena框架下基于MySQL数据库实现本体的存取操作

在Jena框架下基于MySQL数据库实现本体的存取操作 转自:http://blog.csdn.net/jtz_mpp/article/details/6224311 最近在做一个基于本体的管理系统.其中对本体的操作部分,我使用的是Jena框架:数据模型是基于本体的语义模型:数据存储则是MySQL 5.5.9版本.由此看来,将本体模型存入数据库和从数据库中取出模型是常用的操作,这里总结一下我学到的方法. 我使用的开发环境是Eclipse3.6,在开发前要将必要的与jena有关的类包加入java

第二百七十五节,MySQL数据库安装和介绍

MySQL数据库安装 一.概述 1.什么是数据库 ? 答:数据的仓库,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access.MS SQL Server等 ? 答:他们均是一种软件,都有两个主要的功能: a. 将数据保存到文件或内存 b. 接收特定的命令,然后对文件进行相应的操作 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDB

MySQL数据库应用>第3章>操作数据库

MySQL安装好以后,首先需要创建数据库,这是使用mysql各种功能的前提.本章将详细介绍数据的基本操作,主要内容包括数据库的创建和删除,不同类型的数据存储引擎和存储引擎的选择. 学习目标: 1.掌握创建数据库的方法: 2.熟悉数据库的删除操作: 3.了解数据库存储引擎: 4.熟悉常见的存储引擎工作原理: 5.掌握常见的mysql工具: 6.掌握综合实例中数据库的创建和删除方法: 3.1 创建数据库 mysql安装完成后,将会在其data目录下自动创建几个必须的数据库,可以使用"show dat

30.1. MySQL数据库简介,客户端简单操作,安装

文件管理系统的缺点 编写应用程序不方便数据冗余不可避免应用程序依赖性不支持对文件的并发访问数据间联系弱难以按用户视图表示数据无安全控制功能 数据库管理系统的优点 相互关联的数据的集合较少的数据冗余程序与数据相互独立保证数据的安全.可靠最大限度地保证数据的正确性数据可以并发使用并能同时保证一致性 数据库管理系统 数据库是数据的汇集,它以一定的组织形式存于存储介质上DBMS是管理数据库的系统软件,它实现数据库系统的各种功能.是数据库系统的核心DBA(团队):负责数据库的规划.设计.协调.维护和管理等

对MySQL数据库执行非热备操作的要点

mysql备份恢复的场景一: 数据库数据比较小的情况下,使用mysqldump做完全备份,使用mysqlbinlog做增量备份. 完全备份,示例: # mysqldump -A --lock-all-tables --routines --triggers --master-data=2 > /backup/all-`date +%F`.sql 增量备份,示例: # mysqlbinlog /mydata/data/mysql-bin.0000## > /backup/incre-`date 

MySQL数据库的环境及简单操作

***********************************************声明****************************************************** 原创作品,出自 "晓风残月xj" 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/xiaofengcanyuexj). 由于各种原因,可能存在诸多不足,欢迎斧正! *******************************************