找回密码
 注册
查看: 3461|回复: 1

mysql sql语句修改字段长度

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2020-6-15 01:00:02 | 显示全部楼层 |阅读模式
mysql sql语句修改字段长度
& x) v, u2 |& }5 R
语法:
ALTER TABLE 表名 MODIFY COLUMN 字段名  数据类型(修改后的长度)
alter table 表名  modify column 字段名   数据类型(修改后的长度)
要修改Type参数
mysql> desc sl;3 x0 P! ^0 W' o1 n& z
+-------+---------+------+-----+---------+-------+
9 ^! R: m# |' u% H8 W9 c( D9 `| Field | Type    | Null | Key | Default | Extra |- @- u3 \! U% V" P6 Z2 w' y
+-------+---------+------+-----+---------+-------+
: t* E5 v; v% C7 ^& q* ^| name  | char(1) | YES  |     | NULL    |       |
& g( |& n, J7 T9 Z| sex   | char(1) | YES  |     | NULL    |       |
+ `  V) O4 I$ s% X| age   | int(3)  | NO   |     | NULL    |       |
. e  P( z7 `2 g0 S/ h! y& {+-------+---------+------+-----+---------+-------+; w. [9 C- I0 y0 k5 C5 O0 j) D
3 rows in set (0.00 sec)

) Z0 b# \, A1 f) T
由char(1)  修改成char(10)
: G: |, A6 j+ \( W" h! u) |
mysql> alter table sl modify column name char(10);
$ n& N8 x) z9 C! ]! RQuery OK, 4 rows affected (0.19 sec)) V9 U# ?5 S4 |- D
Records: 4  Duplicates: 0  Warnings: 0
mysql> alter table sl modify column sex varchar(5);7 ?" _& O8 m3 \* Z% b6 H, ]% D
Query OK, 4 rows affected (0.22 sec)! ]$ t" ^' B8 N: O  E+ c, Q0 S% [
Records: 4  Duplicates: 0  Warnings: 0
mysql> desc sl;! d( `6 B! ?# H$ w3 B, |3 @2 Q
+-------+------------+------+-----+---------+-------+, T5 V6 \1 W% ^$ N# @3 T9 S
| Field | Type       | Null | Key | Default | Extra |& u& D; w" V7 q- }0 i" w. S
+-------+------------+------+-----+---------+-------+
0 b; A- R: v$ w7 Q1 s: z| name  | char(10)   | YES  |     | NULL    |       | ( v* J. G3 X, f- U; R8 [
| sex   | varchar(5) | YES  |     | NULL    |       | * T& G0 @( C1 Q1 ^, |; f: r
| age   | int(3)     | NO   |     | NULL    |       | " _" G% C- l: ]* T( y1 V
+-------+------------+------+-----+---------+-------+
- q( z* p3 P0 C8 g5 K3 rows in set (0.00 sec)
$ Y  N: O+ O6 F- o$ ~$ F( c  j* ]
把name变成varchar
mysql> alter table sl modify column name varchar(10);
, u5 V4 Q1 t' A1 A; G5 bQuery OK, 4 rows affected (0.07 sec)$ m! e7 t7 r# `2 o- E
Records: 4  Duplicates: 0  Warnings: 0
mysql> desc sl;
5 a/ S0 V5 ~, e4 R) b: [+-------+-------------+------+-----+---------+-------++ c) Q8 ]% W" v- u" g3 {2 M
| Field | Type        | Null | Key | Default | Extra |
3 g2 V1 H. E) g9 J( _0 i+-------+-------------+------+-----+---------+-------+; n% r  r( o3 R( f, B8 P$ [
| name  | varchar(10) | YES  |     | NULL    |       | $ g2 D+ ]6 c# }1 |# y( ?  g
| sex   | varchar(5)  | YES  |     | NULL    |       | - g$ H" t3 X8 ?- v  g
| age   | int(3)      | NO   |     | NULL    |       | . y+ I) s' f8 k% e
+-------+-------------+------+-----+---------+-------+( _( P1 e8 w$ u3 i
3 rows in set (0.00 sec)
# b  _( O& w8 U  q7 a

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2020-6-15 01:00:03 | 显示全部楼层
3.新增字段
0 L7 |* c; j9 Q$ `2 U$ `6 a语法:2 m: v( W5 U/ h$ p- d; D
( j7 k) j8 w1 B. \: a! p
新增默认为空的字段
' p! S% N8 y  k; e1 bALTER TABLE 表名 ADD COLUMN 字段名 字段类型 DEFAULT NULL; . M. B+ N: D; y1 [+ S# f
新增不为空的字段
2 U! U1 d3 H4 w( j( O. x! KALTER TABLE 表名ADD COLUMN 字段名 字段类型  NOT NULL;; ?4 H$ a9 I( b+ F/ x

' `9 |, w2 k2 G例子:
9 ]. }$ d3 t3 ~1 @# Z0 {2 [ALTER TABLE attence ADD COLUMN attence_name VARCHAR(20) DEFAULT NULL; 3 B1 H1 ]' e7 K
2 W4 x' G7 s( G* c* j! F
ALTER TABLE attence ADD COLUMN age VARCHAR(20) NOT NULL;
0 Q+ f1 A! {, A; C! ]* |5 e& ?, v- ~  W* H
" c2 d& X" [" u9 `& b, V
' y+ `5 H- b3 z' y
4.删除字段
4 E1 k+ g" M5 p* p语法:
: ]# @' F; s5 L: ]3 M7 h  T6 r! h4 {! n9 x
ALTER TABLE 表名 DROP COLUMN 字段名;
3 q" @. y0 x3 K! Y6 R4 U5 Y6 Q$ e6 a6 f3 h
例子:! }% M8 |+ m' b! ?& {
; J# F  J- F4 R0 M5 N9 X" h
ALTER TABLE attence DROP COLUMN age;6 z2 u( D; }4 i. `, _
* l1 k. u: v# a' q0 Z- }& q. @
3 I/ K8 I) i: {; @& u1 y
( P( u0 i& }2 i2 _1 j% `
# `  k- b- m/ y9 ]0 c

0 y1 F: y$ `: Y  E8 K* f5.批量增加字段
5 a3 N" @  R' |5 G1 N* o方法一1 R1 N. _- @6 Q
可以使用事务
8 u7 A3 l) a( X$ F
, P9 a! X% @5 l语法:$ b1 `* D! }7 a4 K2 s6 C$ d

/ I' d# [2 }) t; ?begin;                                           //事务开始- f0 S& N) X3 s% y) H, S
alter table 表名  add 字段名  字段类型(长度);! @0 G2 W( f, X5 y1 s0 X
alter table 表名 add 字段名  字段类型(长度);
6 B" _$ M$ B! ]3 }  m% s- \7 D1 \alter table 表名 add 字段名  字段类型(长度);
* l; N9 B- u: ]8 a6 k0 {! yalter table 表名 add 字段名  字段类型(长度);% d: b2 `& P! H1 q/ _+ }7 f
commit;   
8 K* c) V3 @2 A/ P
8 ^, L* @5 J( w例子: 9 d+ Q- [; |! ~3 `0 Z. i! R" l$ w

' G( h3 ~) n; {: O) K2 t+ lbegin;                                           //事务开始
* v' ^! z' _) r+ C! K% Y7 }) ualter table em_day_data add f_day_house7 int(11);
! ~' {8 e2 Z, |+ |alter table em_day_data add f_day_house8 int(11);
7 \( x% x( }' H2 j8 }; qalter table em_day_data add f_day_house9 int(11);
9 V, P) \# d( Ualter table em_day_data add f_day_house10 int(11);
7 |% @7 d* R* W) F. I+ R4 q% Acommit;     
4 l) G1 Q: R! r9 r3 o% @( ?- ]! S% z; n+ q; Z8 Z- p
方法二/ c/ h* q; Q- H, F9 ]* |3 [
+ w& o5 Z: A/ }. c+ I
alter table 表名 add (字段1 类型(长度),字段2 类型(长度),字段3 类型(长度));
! J% I) {5 l) Q3 j5 `6 r; b1 r/ Y0 o6 `
alter table em_day_data add (f_day_house11 int(11),f_day_house12 int(11),f_day_house13 int(11));
5 U/ J" d  ^! H/ m
  l4 L( s& i; J( W& @( H* v
- w4 S4 L  g$ n' K& W- k$ g4 ^, i8 b- j3 l  v- ?

6 G; u% `2 z1 a. l- B7 y. X4 w  m# ?. h, ?3 H
6.批量修改字段名称
4 B! |, h" J' N* R1 v" H1 r" g" m语法:4 V) H( U1 |( q8 s' z9 n+ Z% e
4 g8 O. s+ I! d
alter table 表 change 修改前字段名  修改后字段名称 int(11) not null,% n1 g- P$ m: O% F
change 修改前字段名  修改后字段名称 int(11) not null,5 k# V& H; C3 f, f
change 修改前字段名  修改后字段名称 int(11) not null,
$ G9 B. }6 H4 |change 修改前字段名  修改后字段名称 int(11) not null,
. k! @$ A+ s7 X( D/ B4 q3 M$ [change 修改前字段名  修改后字段名称 int(11) not null, ?2 Z5 W# T) s4 I% u& t

  C: x# k( _" J8 @2 i例子:
: S! \! q! V- |; a/ l1 u8 ?8 X$ l# {2 x+ X- `; o4 O/ _, K
alter table em_day_data change f_day_house11 f_day_hour11 int(11) not null,
) n$ m& k0 q& J6 O6 K! wchange f_day_house12 f_day_hour12 int(11) not null,3 M3 }' r" i0 g7 _- C" i  s2 \" P
change f_day_house13 f_day_hour13 int(11) not null,
& R- e; {: O( Q, c" ]/ b' Q8 Tchange f_day_house14 f_day_hour14 int(11) not null,9 g1 [8 N" _1 g4 Y  \2 w
change f_day_house15 f_day_hour15 int(11) not null,( W& _6 G3 q+ e4 E* X0 p1 }+ Z
change f_day_house16 f_day_hour16 int(11) not null,, s% P1 b, k( k$ A. W. l7 m
change f_day_house17 f_day_hour17 int(11) not null
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:15 , Processed in 0.014257 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表