linux操作mysql的语法_MySQL中对表操作的语法集锦

本文详细介绍了MySQL中如何通过ALTER TABLE命令添加、修改和删除字段,如何创建索引及进行数据的增删改等基本操作,并提供了实际的例子帮助理解。

【添加字段命令】

ALTER TABLE tab_name

ADD col_name col_default 添加一个字段

MySQL>ALTER TABLE Zone ADD TINYINT NOT NULL ;

ADD col_name col_default  AFTER col_name 将新定义的字段添加到某个字段之后

mysql>ALTER TABLE Zone ADD TINYINT NOT NULL AFTER host;

ADD col_name col_default  FIRST 将新定义的字段或添加为第一个字段

mysql>ALTER TABLE Zone ADD TINYINT NOT NULL FIRST;

【修改字段】

CHANGE old_name new_name col_defination [AFTER col_name/FISTER]   将字段的           名字也可以改变并可以改变字段的放置位置

mysql>ALTER TABLE Zone CHANGE Master Tutor TINYINT UNSIGEN AFTER Age               将字段Zone改为Master

MODIFY  col_name col_defination 只对字段的属性进行修改

mysql>ALTER TABLE Zone MODIFY Gender ENUM('F','M') NOT NULL DEFAULT                 'M'

【添加索引】

ADD {INDEX|KEY}  [index_name] [index_type] (col_name)

mysql>ALTER TABLE Zone ADD INDEX index_age (Age);对Age字段添加名为                 index_age的索引,当不指定索引的名字时,采用字段名

【删除索引】

DROP {INDEX | KEY} index_name

mysql>ALTER TABLE Zone DROP INDEX index_age;

【删除键】

DORP PRIMARY KEY

【给表重命名】

1、 ALTER TABLE oldtab_name RENAME TO newtab_name

mysql>ALTER TABLE Zone RENAME TO Zones;

2、 RENAME TABLE oldtab_name TO newtab_name

mysql>RENAME TABLE Zone TO Zones;

【向表新增数据】

1、INSERT INTO tab_name (col1,col2..) VALUES ('val1','val2'...)  向某个表中的特定   字段添加相应的数据

2、INSETT INTO tab_name SET col1='val1'  直接给某个表中的某个字段设定值

3、INSERT INTO tab_name (col_name) VALUES ('val')这是在表中的其他字段都可以为空的   情况下才可是使用,否侧将出现错误,如果mysqld定义的是非严格模式的话,虽然报错了但是   还可以插入,如果定义的是严格模式就不能插入了。

4、INSERT INTO tab_name VALUEs('val1','val2'....)根据表中定义的字段顺序插入相应的   数据

我们可以根据下图中表的结构,进行如下的插入方法:

a29d2e5ad92f7560844b8dffe0ed0368.png

mysql> INSERT INTO knight VALUS   ('1','WUSONG','XIAO','25','LINCHONG','SFSF','2');

5、成批插入,一次插入多行数据

INSERT INTO tab_name(col_name) VALUES ('val1'),('val2').('val3'); 对一个字段一次     插入多个数据即一次插入多行数据

(注:使用REPLACE也可以实现数据的插入,当使用REPLACE插入数据时,如果插入的数据和表中原有数据的字段名相同,EPLACE将在不提醒操作者的情况下用新的内容替换掉旧的内容,而INSERT将进行报错,所以REPLACE的这个行为是比较危险的,所以我们尽量不实用REPLACE)

【修改数据】

UPDATE tab_name SET col1=val1  [WHERE cluse]  如果不加上WHERE 的匹配语句的时候,     将对表中所有这个字段都进行同样的修改,这个一定得小心。

UPDATE domain SET name='na' WHERE name='nange'; 将字段name的值为nange的修改为na

UPDATE tab_name set col1=val1 LIMIT n  修改多少行的数据  对n行中相应字段进行同样     的修改

【删除数据】

1、DELETE FROM TABLE [WHERE cluse] 如果不加WHERE 的匹配语句的时候,将删除这个表中所    有数据,这个一定得小心

(注:当我们使用这种方法对表中的某行数据进行删除之后,再添加数据的时候会发现表中行的计数是不连续的,如我们删除的行为第4行,再添加数据时法现当前的行为第5行,而不是取代了刚刚删除的第4行,这我们就得使用下面的方法进行调试

SLECT LAST_INSERT_ID(); 查看上次插入时的行号是多少

ALTER TABLE tab_name AUTO_INCEREMENT=n设定下次插入时行数为n)

2、TRUNCATE TABLE tab_name;清空一个表,数据行的计数会连续执行0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值