Mysql中对表操作的语法集锦
【添加字段命令】
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'....)根据表中定义的字段顺序插入相应的 数据
我们可以根据下图中表的结构,进行如下的插入方法:
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;清空一个表,数据行的计数会连续执行