MySQL中对表操作的语法集锦
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;清空一个表,数据行的计数会连续执行
评论暂时关闭