SQL alter操作

 

#创建表

CREATE TABLE IF NOT EXISTS TABLLE_NAME(

   tutorial_id INT NOT NULL AUTO_INCREMENT,

   tutorial_title VARCHAR(100) NOT NULL,

   tutorial_author VARCHAR(40) NOT NULL,

   submission_date DATE

   PRIMARY KEY ( tutorial_id )

 

)

#查看数据表

SHOW TABLES FROM `smbms`

 

#查看表结构

SHOW COLUMNS FROM `smbms_address`

 

#插入一条记录,如果省略列名和字段名,所有的值都赋值

INSERT INTO (col_name,....)VALUES(val,....);

 

#修改数据表(添加单字段)

ALTER TABLE tab_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name]

#修改表示例(添加单字段)

ALTER TABLE smbms_bill ADD userName INT(2) DEFAULT 22 NOT NULL AFTER productName;

 

#修改表添加多列字段

ALTER TABLE tab_name ADD [COLUMN] (col_name column_definition,.....)

ALTER TABLE smbms_bill ADD(person VARCHAR (10) DEFAULT 24,address VARCHAR (25));

 

#删除表字段

ALTER TABLE tab_name DROP [COLUMN] col_name

ALTER TABLE smbms_bill DROP age;

 

#同时删除多列

ALTER TABLE smbms_bill DROP address,DROP userName;

 

#删除一列的同时在新增一列

ALTER TABLE smbms_bill DROP userName,ADD age INT(2) NOT NULL DEFAULT 22;

 

#添加主键约束

ALTER TABLE tab_name ADD [CONSTRAINT[symbol]] PRIMARY KEY [index_type](index_col_name);

ALTER TABLE t_user ADD CONSTRAINT PK_t_user_uid PRIMARY KEY(uid);

 

#添加唯一约束

ALTER TABLE tab_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type](index_col_name);

ALTER TABLE t_user ADD UNIQUE (user_name);#user_name 要加括号

 

#添加外键约束

ALTER TABLE tab_name ADD [CONSTRAINT[symbol]] FOREIGN KEY [index_name](index_col_name,...) reference_definition

#外键添加要求(相同的数据类型与长度,varchar除外,引擎是innoDB,字段上要有索引)

ALTER TABLE t_user2 ADD FOREIGN KEY (pid) REFERENCES t_user (uid);

 

#添加/删除默认约束

ALTER TABLE tal_name ALTER [COLUMN] col_name {SET DEFAULT literal|DROP DEFAULT}

#添加默认约束

ALTER TABLE t_user ALTER user_name SET DEFAULT 'zhangsan';

#删除默认约束

ALTER TABLE t_user ALTER user_name DROP DEFAULT;

 

#删除主键约束(因为主键约束只有一个所以不用写字段名)

ALTER TABLE tal_name DROP PRIMARY KEY

ALTER TABLE t_user2 DROP PRIMARY KEY;

 

#删除唯一约束

ALTER TABLE tab_name DROP {INDEX|KEY}index_name

#首先应查看数据表的唯一约束名字

SHOW INDEX FROM t_user

#删除唯一约束

ALTER TABLE t_user DROP INDEX user_name;

 

#删除外键约束

ALTER TABLE tal_name DROP FOREIGN KEY fk_symbol

#查看外键约束获取外键的名字,这里是(`t_user2_ibfk_1`)

SHOW CREATE TABLE t_user2

#删除外键

ALTER TABLE t_user2 DROP FOREIGN KEY `t_user2_ibfk_1`;

 

#修改列定义(修改字段类型|名称|位置)

ALTER TABLE tal_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]

#将user_name移到第一位(如果user_name有默认值要写默认值,如果不为空,要写not null)

ALTER TABLE t_user MODIFY user_name VARCHAR(10) FIRST;

#将uid修改成TINYINT类型(在修改型的时候如果从大类型修改到小类型,有可能造成数据的丢失)

ALTER TABLE t_user MODIFY uid TINYINT (2);

#将uid修改列名称为u_id,类型修改为int

ALTER TABLE t_user CHANGE uid u_id INT(2);

#修改表字段

alter table `t_user2` change user_name uid int(4) not null,change address int(4) not null;

 

#数据表更名

#方法一:

ALTER TABLE tal_name RENAME[TO|AS] new_tbl_name

#方法二:

RENAME TABLE tbl_name TO new_tbl_name[tbl_name2 TO new_tbl_name2]....

#将t_user修改成t_user3

ALTER TABLE t_user RENAME TO t_user3

#将t_user3修改成t_user 

RENAME TABLE t_user3 TO t_user

 

 

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值