mysql表级sql语句

create table table_name (

  id int unsigned primary key AUTO_INCREMENT,

  username varchar(32) not null,

  nickname varchar(16) not null default '匿名',

  unique key(username)

);

CREATE TABLE IF NOT EXISTS `test` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `nickname` varchar(16) NOT NULL DEFAULT '匿名',
  PRIMARY KEY (`id`),
  KEY `nickname` (`nickname`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

索引增删改:(索引名字一般与字段名相同)

alter table 表名 add primary key(‘字段列表’);  //增加主键

alter table 表名 drop primary key;    //删除主键

alter table 表名 add unique key  索引名字 (字段列表);  增加唯一索引,例子:

 

  ALTER TABLE `test` ADD UNIQUE (
    `username`
  );

 

alter table 表名 drop index index_name;  删除唯一索引,例子:

ALTER TABLE `test` DROP INDEX `username`;

ALTER TABLE `test` ADD INDEX `nickname` );//增加普通索引

ALTER TABLE `test` DROP INDEX `nickname`;//删除普通索引

 

 

插入

INSERT INTO 表名称 VALUES (值1, 值2,....)插入所有列,指定值
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)插入指定列,指定值
insert into test (username,nickname)values('333','111'),('222','222')插入指定列多个值
INSERT INTO test VALUES (NULL '444''777')(NULL '555''999')插入所有列,多个

insert into table select * from table2  //将查询结果插入
insert into test (username) values ('111') on duplicate key update username='000',nickname='匿名'  //判断主键或者唯一是否存在,不存在则插入,存在则更新。(update后没有set)

删除数据
delete from TABLE where...  删除符合条件的数据(delete支持order by和limit限制删除条数)
truncate TABLE  清空表


修改(update支持order by和limit限制更新条数)
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'
posted @ 2014-07-31 15:45  自学it技术  阅读(235)  评论(0编辑  收藏  举报