Mysql数据表的增删改查

---恢复内容开始---

Mysql数据表的增删改查

1.创建表  

语法:CREATE TABLE 表名(字段1,字段2,字段3.......)

CREATE TABLE `users` (
  `user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `pid` mediumint(9) DEFAULT '0' COMMENT '介绍人',
  `role_id` mediumint(8) DEFAULT '0' COMMENT '分佣身份ID',
  `mobile` varchar(35) DEFAULT '' COMMENT '用户手机',
  `user_name` varchar(35) DEFAULT '' COMMENT '用户名',
  `password` varchar(32) DEFAULT '' COMMENT '用户密码',
  `pay_password` varchar(32) DEFAULT '' COMMENT '支付密码',
  `nick_name` varchar(20) DEFAULT '' COMMENT '昵称',
  `headimgurl` varchar(255) DEFAULT '' COMMENT '头像',
  `birthday` date DEFAULT NULL COMMENT '生日',
  `token` varchar(20) DEFAULT '' COMMENT '个人随机识别码',
  `signature` varchar(20) DEFAULT '' COMMENT '个性签名',
  `show_mobile` tinyint(1) DEFAULT '0' COMMENT '显示手机',
  `province` mediumint(8) DEFAULT '0' COMMENT '省份',
  `city` mediumint(8) DEFAULT '0' COMMENT '城市',
  `district` mediumint(8) DEFAULT '0' COMMENT '区域',
  `sex` tinyint(1) unsigned DEFAULT '0' COMMENT '性别',
  `reg_time` int(10) unsigned DEFAULT '0' COMMENT '注册时间',
  `total_consume` decimal(10,2) DEFAULT '0.00' COMMENT '累计消费',
  `is_bind` tinyint(1) DEFAULT '0' COMMENT '是否已执行绑定关系',
  `last_buy_time` int(10) DEFAULT '0' COMMENT '最近消费时间',
  `last_up_role_time` int(10) DEFAULT '0' COMMENT '最近升级会员时间',
  `login_time` int(10) DEFAULT '0' COMMENT '最近登陆时间',
  `login_ip` varchar(15) DEFAULT '' COMMENT '最近登陆IP',
  `last_login_time` int(10) DEFAULT '0' COMMENT '上次登陆时间',
  `last_login_ip` varchar(15) DEFAULT '' COMMENT '上次登陆IP',
  `is_ban` tinyint(1) DEFAULT '0' COMMENT '是否封禁(1是 0否)',
  `login_odd_time` int(10) DEFAULT '0' COMMENT '登陆异常时间',
  `login_odd_num` int(10) DEFAULT '0' COMMENT '登陆异常次数,超过10次限制登陆',
  `send_repeat_buy_msg_time` int(10) DEFAULT '0' COMMENT '发送复购提醒时间',
  `wx_id` varchar(50) NOT NULL COMMENT '微信号',
  `wx_nickname` varchar(50) DEFAULT '' COMMENT '呢称',
  `wx_code` varchar(255) DEFAULT '' COMMENT '微信二维码',
  PRIMARY KEY (`user_id`),
  UNIQUE KEY `token` (`token`) USING BTREE,
  KEY `pid` (`pid`) USING BTREE,
  KEY `mobile` (`mobile`) USING BTREE,
  KEY `nick_name` (`nick_name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=29910 DEFAULT CHARSET=utf8 COMMENT='会员表';

 

2.修改、添加、删除 表字段

  1. 添加表的字段   语法: alter table 表名  add  字段名  字段的类型

    例:
    alter table users add address varchar(110) after birthday;

    批量怎加字段
    方法一:
    使用事务
    //事务开始

    bagin;                                          
    alter table em_day_data add f_day_house7 int(11);
    alter table em_day_data add f_day_house8 int(11);
    alter table em_day_data add f_day_house9 int(11);
    alter table em_day_data add f_day_house10 int(11);
    commit;        
                                        
    //提交事务,事务结束

    事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。

    方法二 
    mysql 批量为表添加多个字段
    语法:alter table 表名 add (字段1 类型(长度),字段2 类型(长度),字段3 类型(长度));

    例:alter table em_day_data add (f_day_house11 int(11),f_day_house12 int(11),f_day_house13 int(11));

  2. 修改表的字段类型  语法:  ALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型定义;

    例:
     ALTER TABLE users MODIFY COLUMN login_ip VARCHAR(50);


  3. 修改表的字段名    语法:alter table 表名 change 原字段名  新字段名  字段的类型

    例:
     alter table student change address user_address varcher(100) default null


    批量修改字段名称
    语法:
    alter table 表 change 修改前字段名  修改后字段名称 int(11) not null,
    change 修改前字段名  修改后字段名称 int(11) not null,
    change 修改前字段名  修改后字段名称 int(11) not null,
    change 修改前字段名  修改后字段名称 int(11) not null,
    change 修改前字段名  修改后字段名称 int(11) not null

    例:
    alter table em_day_data change f_day_house11 f_day_hour11 int(11) not null,
    change f_day_house12 f_day_hour12 int(11) not null,
    change f_day_house13 f_day_hour13 int(11) not null,
    change f_day_house14 f_day_hour14 int(11) not null,
    change f_day_house15 f_day_hour15 int(11) not null,
    change f_day_house16 f_day_hour16 int(11) not null,
    change f_day_house17 f_day_hour17 int(11) not null

  4. 删除表的字段名   语法: alter table 表名 drop column 字段名

    例:
     alter table `users` drop column user_address
  5. 表添加索引       语法:alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

    例:
    mysql> alter table users add index emp_name (username);
  6. 加主关键字的索引       语法: alter table 表名 add primary key (字段名);

    例:
    mysql> alter table users add primary key(id);
  7.  加唯一限制条件的索引      语法:alter table 表名 add unique 索引名 (字段名);

    例:
    
    mysql> alter table employee add unique emp_name2(cardnumber);
  8. 删除某个索引   语法: alter table 表名 drop index 索引名;

    例:
    mysql>alter table employee drop index emp_name; 
  9. 添加注释

    // 可以为表添加注释
    ALTER TABLE `table_name` COMMENT'注释'; 
    // 为字段添加注释,同样适用于修改
    ALTER TABLE `table_name` CHANGE `column_name` `column_name` type(longth) UNSIGNED NULL DEFAULT NULL COMMENT '注释'
  10. 调整字段顺序        语法:alter table 表名change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后)

    alter table appstore_souapp_app_androidmarket;
    change getPriceCurrency getPriceCurrency varchar(50)   default null AFTER getPrice;
    

     

      

3.修改表名   语法: alter table 原表名 rename 现表名;

例:
 alter table t1 rename t2;

  

4.表数据的增删查改

  1.  (增)数据表新增记录  语法: insert into 表名 values(值1,值2,值3,....);
    插入一条数据:
    INSERT INTO `u_passive_friend` VALUES ('29890', '0', '0', '0', '0', '1558433128', '0'); INSERT INTO `u_passive_friend` VALUES ('29893', '0', '0', '0', '0', '1558433128', '0'); INSERT INTO `u_passive_friend` VALUES ('29894', '0', '0', '0', '0', '1558433128', '0'); INSERT INTO `u_passive_friend` VALUES ('29895', '0', '0', '0', '0', '1558433128', '0'); INSERT INTO `u_passive_friend` VALUES ('29896', '0', '0', '0', '0', '1558433128', '0'); INSERT INTO `u_passive_friend` VALUES ('29897', '0', '0', '0', '0', '1558433128', '0');

    同时插入多条数据
    格式:INSERT INTO 表名(字段名) VALUES(记录行值1),(记录行值2),...;
    INSERT INTO `u_passive_friend` VALUES 
    ('29897', '0', '0', '0', '0', '1558433128', '0'),
    ('29895', '0',  '0', '0', '0',  '1558433128', '0'),
    ('29896', '0',  '0', '0', '0',  '1558433128', '0')
    ;
  2. (删)删除数据 语法:DELETE FROM 表名[WHERE <condition>];
    例:
    DELETE FROM users WHERE user_id = 29897;  //将users表中user_id=13的记录行给删除。
  3. (查)查询数据  语法:select 字段1,字段2,字段3,... from 表名 where  条件
    例:
    select * from users;  //查询users表所有数据
    
    select user_id,nick_name,mobile from users;//查询users表所有数据的字段名user_id,nick_name,mobile 
    
    select * from users where user_id>10000; //查询users中user_id大于10000的数据
    
    select * from users where  is_ban=0 order by add_time desc; //查询users中is_ban=0的所有数据,并根据add_time降序
    

      

  4. (改)修改数据    语法:UPDATE 表名 SET 字段名=值,字段名=值... WHERE 条件;
    例:
    UPDATE users  SET nick_name = 'xxx' WHERE user_id='29896';
    

      

---恢复内容结束---

原文地址:https://www.cnblogs.com/ccw869476711/p/10904174.html