MySQL添加删除主键的方法

   mysql添加删除主键操作是非常基本的操作,下面就将教您mysql添加删除主键的方法,如果您是刚刚接触mysql数据库的新人,不妨一看。

  修改mysql的字符集:

  在安装mysql5.0时可以设置好mysql的字符集,一般使用utf8的字符集

  1、查看建立表“tablename”的sql语句

  Show create table tablename;//查看建立表“tablename”的sql语句

  | maos_mail_batch | CREATE TABLE `maos_mail_batch` (

  `ID` varchar(32) character set latin1 NOT NULL,

  `BATCH_TIME` varchar(30) character set latin1 NOT NULL,

  `BATCH_INTRODUCE` varchar(2000) character set latin1 default NULL,

  `BATCH_SUM` int(11) default NULL,

  `BATCH_STATE` varchar(1) character set latin1 default NULL,

  PRIMARY KEY (`ID`)

  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 |

  2、修改数据库和表的字符集

  alter database maildb default character set utf8;//修改数据库的字符集

  alter table mailtable default character set utf8;//修改表的字符集

  如果您想要把表默认的字符集和所有字符列(CHAR, VARCHAR, TEXT)改为新的字符集,应使用如下语句:

  ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;

  警告:前面的操作转换了字符集之间的列类型。如果您有一列使用一种字符集(如latin1),但是存储的值实际上使用了其它的字符集(如utf8),这种情况不是您想要的。此时,您必须对这样的列进行以下操作。

  ALTER TABLE t1 CHANGE c1 c1 BLOB;

  ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;

  这种方法能够实现此功能的原因是,当您转换到BLOB列或从BLOB列转换过来时,并没有发生转换。

  3、mysql的主键问题:

  Mysql的两种主键。Primary key 和not null auto_incriment在建立mysql表时,给一个字段添加了主键primary key 在insert数据时可以不用insert主键,mysql会自动添加0,但是在第二次insert时没有填写值mysql数据库还是默认添加0,会导致有重复的主键,这是不可以的。所有在定义了primary key时,在insert数据时要给主键填写值。

  在建立mysql表时,给一个字段添加了主键not null auto_increment=1;

  这也是一个主键。时自增长的以1为开始。这个字段是可以不用填写值的,mysql数据库会自动给填写值,不会出现primary key的状况。

  Alter table tb add primary key(id);

  Alter table tb change id id int(10) not null auto_increment=1;

  4、删除自增长的主键id

  先删除自增长在删除主键

  Alter table tb change id id int(10);//删除自增长

  Alter table tb drop primary key;//删除主建

  以上就是mysql添加删除主键的方法介绍。

时间: 2024-09-21 08:48:22

MySQL添加删除主键的方法的相关文章

SQL语句删除和添加外键、主键的方法_C#教程

--删除外键 语法:alter table 表名 drop constraint 外键约束名 如: alter table Stu_PkFk_Sc drop constraint FK_s alter table Stu_PkFk_SC drop constraint FK_c --添加外键 语法:alter table 表名 add constraint 外键约束名 foreign key(列名) references 引用外键表(列名) 如: alter table Stu_PkFk_Sc

Mysql自增主键ID重新排序方法详解

Mysql数据库表的自增主键ID号乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键:  代码如下 复制代码 ALTER TABLE `table_name` DROP `id`; 2,添加新主键字段:  代码如下 复制代码 ALTER TABLE `table_name` ADD `id` MEDIUMINT( 8 ) NOT NULL FIRST; 3,设置新主键:  代码如下 复制代码 ALTER TABLE `table_name` MODIFY C

mybatis数据表(mysql)的主键非自增长,如何插入数据(需插入主键)实现主键自增长?

问题描述 mybatis数据表(mysql)的主键非自增长,如何插入数据(需插入主键)实现主键自增长? 举例来说就是有表person,person有id(mysql数据库,主键,非自增),和name,pswd三个字段.如果是自增的情况,我们通常是这样处理 insert into person(name,pswd) values(#{name},#{pswd}) 这种情况不许要插入主键,因为person表主键是自增长的.但如果主键不是增长的情况呢?如何处理.主键不是自增长就应该必须插入主键. 在步

FAQ系列 | MySQL索引之主键索引

导读 在MySQL里,主键索引和辅助索引分别是什么意思,有什么区别? 上次的分享我们介绍了聚集索引和非聚集索引的区别,本次我们继续介绍主键索引和辅助索引的区别. 1.主键索引 主键索引,简称主键,原文是PRIMARY KEY,由一个或多个列组成,用于唯一性标识数据表中的某一条记录.一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL. 在MySQL中,InnoDB数据表的主键设计我们通常遵循几个原则: 采用一个没有业务用途的自增属性列作为主键: 主键字段值总是不更新,只有新增或者

Mysql的联合主键

mysql的联合主键:用2个字段(或者多个字段,后面具体都是用2个字段组合)来确定一条记录,说明,这2个字段都不是唯一的,2个字段可以分别重复,这么设置的好处,可以很直观的看到某个重复字段的记录条数. 在mysql当中我们经常认为主键只能设置一个,那如果我们想设置两个呢?如下图: CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` varchar(25) DEFAULT NULL, `sess_id` varcha

MySQL中的主键以及设置其自增的用法教程_Mysql

1.声明主键的方法:您可以在创建表的时候就为表加上主键,如: CREATE TABLE tbl_name ([字段描述省略...], PRIMARY KEY(index_col_name)); 也可以更新表结构时为表加上主键,如: ALTER TABLE tbl_name ADD PRIMARY KEY (index_col_name,-); /* 创建一个qq表,将qq_id设为主键,且没有对其进行NOT NULl约束 */ create table qq( qq_id int(10), ni

MySQL索引之主键索引_Mysql

在MySQL里,主键索引和辅助索引分别是什么意思,有什么区别? 上次的分享我们介绍了聚集索引和非聚集索引的区别,本次我们继续介绍主键索引和辅助索引的区别. 1.主键索引 主键索引,简称主键,原文是PRIMARY KEY,由一个或多个列组成,用于唯一性标识数据表中的某一条记录.一个表可以没有主键,但最多只能有一个主键,并且主键值不能包含NULL. 在MySQL中,InnoDB数据表的主键设计我们通常遵循几个原则: 1.采用一个没有业务用途的自增属性列作为主键: 2.主键字段值总是不更新,只有新增或

jQuery使用toggleClass方法动态添加删除Class样式的方法

这篇文章主要介绍了jQuery使用toggleClass方法动态添加删除Class样式的方法,实例分析了jQuery中toggleClass方法操作class样式的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jQuery使用toggleClass方法动态添加删除Class样式的方法.分享给大家供大家参考.具体分析如下: jQuery通过toggleClass方法动态添加删除Class,一次执行相当于addClass,再次执行相当于removeClass,运行下面的代码

mybatis+mysql 一表主键自增, 插入数据,怎么返回主键

问题描述 mybatis+mysql 一表主键自增, 插入数据,怎么返回主键 mybatis+mysql 一表主键自增, 插入数据,怎么返回主键.很多人说的都是返回了插入的行数 解决方案 <insert id="insert" parameterType="Person" useGeneratedKeys="true" keyProperty="id"> insert into person(name,pswd)