澳门太阳娱乐集团官网-太阳集团太阳娱乐登录

MySQL增添列、删除列,创建主键等常用操作总计
分类:数据库

一. 列常用操作

① 增添新的一列test_column,并将其看成主键,FIEnclaveST将其放在表中第一行,auto_increement是自行增加

alter table test_table add column test_column int not null auto_increment FIRST add primary key(test_column);
  • 1

 

能够应用SQL语句“alter table ai3 add id0 int  auto_increment primary key first;”来增加主键列。能够运用SQL语句“alter table ai4 modify id int auto_increment primary key;”来修改主键列。

② 删除列

 

alter table test_table drop column test_column;
  • 1

③ 修改某一列的字段长度(比如本来是30字节改为50字节长)

alter table test_table modify column test_column varchar(50);
  • 1

④ 完全修改某一列(假如原本列名是test1_column,类型是int)

alter table test_table change column test1_column test_column varchar(30);
  • 1

⑤ 仅仅想重命名某一列(首先须要理解这一列的类型,如果原来是int且不为空,列名是error_name_column)

alter table test_table change column error_name_column test_column int not null;
  • 1

--删除主键

mysql增添删除主键 操作是足够基本的操作,上面就将教您mysql增添删除主键的诀要,假若你是刚刚接触mysql数据库的新人,无妨一看。

二. 针对表的大多操作

① 修改钦定表的仓库储存引擎,假诺原来是MYISAM

alter table test_table engine=innodb;
  • 1

② 删除内定表的主键

alter table test_table drop primary key;
  • 1

此地有个情景须要提议,借使该主键列是自行增进(auto_increment)的,因为mysql供给机关增加列必需是索引,所以删除主键也就删除了主键索引,那是不切合mysql须求的,是不可能实现的,会报错,必得先删除自动增进(通过更动列属性),后去除主键

③ 为钦命表加多主键

alter table test_table add primary key(test_column);
  • 1

④ 为钦定表增多索引(普通索引),test_index是索引名

alter table test_table add index test_index(test_column);
  • 1

⑤ 删除内定表索引

alter table test_table drop index test_index;
  • 1

⑥ 重命名表

alter table test_table rename new_name_table;

 

 



 

 

若是想在二个曾经济建设好的表中增加一列,能够用诸如:

alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null;

那条语句会向已有的表中参与新的一列,这一列在表的结尾一列地点。要是大家盼望增多在内定的一列,能够用:

alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null after COLUMN_NAME;

只顾,下边那个命令的情致是说加多新列到某一列前边。假如想增加到第一列的话,能够用:

alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null first;

alter table 表名 drop constraint 主键名
--加多主键
alter table 表名 add constraint 主键名 primary key(字段名1,字段名2……)
--增添非聚焦索引的主键
alter table 表名 add constraint 主键名 primary key NONCLUSTERED(字段名1,字段名2……)

  修改mysql的字符集:

新建表: 
create table [表名] 

[机关编号字段] int IDENTITY (1,1) PRIMARY KEY , 
[字段1] nVarChar(50) default '默认值' null , 
[字段2] ntext null , 
[字段3] datetime, 
[字段4] money null , 
[字段5] int default 0, 
[字段6] Decimal (12,4) default 0, 
[字段7] image null , 
)

  在设置mysql5.0时能够安装好mysql的字符集,日常采纳utf8的字符集

删除表: 
Drop table [表名]

  1、查看建设构造表“tablename”的sql语句

删去全部表:

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

DECLARE curItems CURSOR
FOR select [name] from sysobjects where xtype='U'
FOR READ ONLY
OPEN curItems
DECLARE @n  NVARCHAR(100),@m NVARCHAR(100)
FETCH FROM curItems INTO @n
WHILE @@FETCH_STATUS=0
BEGIN
 set @m=@n
    exec('Drop Table ' + @m)
FETCH NEXT FROM curItems INTO 
@n
END
CLOSE  curItems
DEALLOCATE  curItems

  | maos_mail_batch | CREATE TABLE `maos_mail_batch` (

插入数据: 
INSERT INTO [表名] (字段1,字段2) VALUES (100,'51WINDOWS.NET')

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

剔除数据: 
DELETE FROM [表名] WHERE [字段名]>100

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

履新数据: 
UPDATE [表名] SET [字段1] = 200,[字段2] = '51WINDOWS.NET' WHERE [字段三] = 'HAIWA'

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

新增加字段: 
ALTER TABLE [表名] ADD [字段名] NVARCHAR (50) NULL

  `BATCH_SUM` int(11) default NULL,

剔除字段: 
ALTER TABLE [表名] DROP COLUMN [字段名]

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

修改字段: 
ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL

  PRIMARY KEY (`ID`)  www.2cto.com  

重命名表:(Access 重命名表,请参见作品:在Access数据库中重命名表) 
sp_rename '表名', '新表名', 'OBJECT'

  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 |

新建约束: 
ALTER TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([自律字段] <= '2000-1-1')

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

删除约束: 
ALTER TABLE [表名] DROP CONSTRAINT 约束名

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

新建暗许值 
ALTER TABLE [表名] ADD CONSTRAINT 暗中同意值名 DEFAULT '51WINDOWS.NET' FOR [字段名]

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

删除默许值 
ALTER TABLE [表名] DROP CONSTRAINT 私下认可值名

  如若你想要把表默许的字符集和兼具字符列(CHAQashqai, VARCHA奥迪TT, TEXT)改为新的字符集,应利用如下语句:

删去Sql Server 中的日志,减小数据库文件大小 
dump transaction 数据库名 with no_log 
backup log 数据库名 with no_log 
dbcc shrinkdatabase(数据库名) 
exec sp_dboption '数据库名', 'autoshrink', 'true'

  ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;

\'增加字段通用函数 
Sub AddColumn(TableName,ColumnName,ColumnType) 
Conn.Execute("Alter Table "&TableName&" Add "&ColumnName&" "&ColumnType&"") 
End Sub

  警告:前边的操作调换了字符集之间的列类型。假设您有一列使用一种字符集(如latin1),不过存款和储蓄的值实际上选取了另外的字符集(如utf8),这种情形不是你想要的。此时,您必得对那样的列进行以下操作。

\'改变字段通用函数 
Sub ModColumn(TableName,ColumnName,ColumnType) 
Conn.Execute("Alter Table "&TableName&" Alter Column "&ColumnName&" "&ColumnType&"") 
End Sub

  ALTER TABLE t1 CHANGE c1 c1 BLOB;  www.2cto.com  

\'检查表是或不是留存

  ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;

sql="select count(*) as dida from sysobjects where id = object_id(N'[所有者].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1"

  这种办法能够达成此成效的来头是,当您转产生BLOB列或从BLOB列调换过来时,并从未发生调换。

set rs=conn.execute(sql)

  3、mysql的主键难点:

response.write rs("dida")'重回三个数值,0代表未有,1意味存在

   Mysql的二种主键。Primary key 和not null auto_incriment在确立mysql表时,给一个字段增加了主键primary key 在insert数据时得以不用insert主键,mysql会活动增多0,不过在其次次insert时从没填写值mysql数据库依旧私下认可加多0,会导致 有再度的主键,这是不得以的。全数在概念了primary key时,在insert数据时要给主键填写值。

判定表的留存: 
select * from sysobjects where id = object_id(N'[dbo].[tablename]') and OBJECTPROPERTY(id, N'IsUserTable') = 1

  在成立mysql表时,给五个字段加多了主键not null auto_increment=1;

有个别表的组织 
select * from syscolumns where id = object_id(N'[dbo].[你的表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1

  那也是三个主键。时自增加的以1为发端。这么些字段是足以毫无填写值的,mysql数据库会自行给填写值,不会现出primary key的景况。

修改表的前缀:

  Alter table tb add primary key(id);

ALTER SCHEMA dbo TRANSFER prename.tablename;

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

例如表2已经存在,把表第11中学的记录加到表第22中学的语句: 
insert   into   表2   (字段1,字段2,...)   select   字段1,字段2,..   from   表2   where   ... 

  4、删除自增进的主键id

假若表2不设有,则用上面包车型大巴语句会自动生成表2,字段的品种和表1同样: 
        select   字段1,字段2,..   INTO   表2   from   表1   where   ... 

  先删除自拉长在剔除主键

 

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

转载自:

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

  以上便是mysql增添删除主键的办法介绍。

 

 

 

作者 DouglasLau

操作是十一分基本的操作,上边就将教您mysql增加删除主键的措施,即使你是刚刚接触mysql数据库的新人,不要紧一看。 修改...

本文由澳门太阳娱乐集团官网发布于数据库,转载请注明出处:MySQL增添列、删除列,创建主键等常用操作总计

上一篇:mysql 开发进阶篇系列 8 锁问题 (共享锁与排它锁演 下一篇:没有了
猜你喜欢
热门排行
精彩图文