1. 程式人生 > >MySQL表相關操作

MySQL表相關操作

MySQL表相關操作

1. 建立表

DROP TABLE IF EXISTS `my_user`;
CREATE TABLE `my_user` (
  `id` BIGINT (20) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `number` INT (11) NOT NULL COMMENT '使用者編號',
  `dept_id` INT (11) NOT NULL COMMENT '所屬部門ID',
  `name` VARCHAR (20) NOT NULL COMMENT '使用者名稱稱',
  `age` INT (11) NOT NULL COMMENT '年齡',
  `status` BIT (4) NOT NULL DEFAULT b'0' COMMENT '狀態, 位儲存(0: 停用; 1: 啟用)',
  `yn` BIT (4) DEFAULT b'1' COMMENT '有效標誌,1:有效,0:無效',
  `create_time` DATETIME NOT NULL COMMENT '建立時間',
  `modify_time` TIMESTAMP NOT NULL COMMENT '更新時間',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_number` (`number`),
  INDEX `IDX_my_user_dept_id` (`dept_id`)
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '使用者表' ;

2. 修改表列名

ALTER TABLE my_user 
  MODIFY `name` VARCHAR (50) NOT NULL COMMENT '使用者姓名',
  MODIFY `number` VARCHAR (20) NOT NULL COMMENT '使用者編號' ;

3. 新增列名(指定位置)

ALTER TABLE my_user 
  ADD COLUMN sex tinyint(1) NOT NULL COMMENT '性別(0:未知,1:男,2:女)' AFTER `name` ;

4. 修改表註釋

ALTER TABLE my_user 
  COMMENT '我關聯的使用者表' ;

5. 新增索引

ALTER  TABLE  my_user  ADD  INDEX  idx_name(`name`); 

6. 插入資料

INSERT INTO `my_user` (
  `number`,
  `dept_id`,
  `name`,
  `sex`,
  `age`,
  `status`,
  `yn`,
  `create_time`,
  `modify_time`
) 
VALUES
  (
    '1000000',
    100,
    '天涯在身邊',
    1,
    18,
    1,
    1,
    NOW(),
    NOW()
  ) 

7. 更新資料

UPDATE 
  `my_user` 
SET
  `name` = '張玉玲',
  `sex` = 2,
  `modify_time` = NOW() 
WHERE `id` = 1

8. 刪除

DELETE FROM my_user WHERE id=1

9. 全部刪除

DELETE FROM my_user > DML語句,不會自動提交;刪除表中的所有行
TRUNCATE TABLE my_user > DDL語句,執行後會自動提交;刪除表中的所有行,但表結構及其列、約束、索引等保持不變
DROP TABLE my_user > DDL語句,執行後會自動提交,表所佔用的空間