mysql表的清空、删除和修改操作详解
一、清除mysql表中数据
deletefrom表名;
truncatetable表名;
不带where参数的delete语句可以删除mysql表中所有内容,使用truncatetable也可以清空mysql表中所有内容。
效率上truncate比delete快,但truncate删除后不记录mysql日志,不可以恢复数据。
delete的效果有点像将mysql表中所有记录一条一条删除到删完,
而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。
二、删除表中的某些数据
deletefrom命令格式:deletefrom表名where表达式
例如,删除表MyClass中编号为1的记录:
mysql>deletefromMyClasswhereid=1;
三、修改表
1.选择数据库
>use数据库名;
2.查询所有数据表
>showtables;
3.查询表的字段信息
>desc表名称;
3.1.修改某个表的字段类型及指定为空或非空
>altertable表名称change字段名称字段名称字段类型[是否允许非空];
>altertable表名称modify字段名称字段类型[是否允许非空];
3.2.修改某个表的字段名称及指定为空或非空
>altertable表名称change字段原名称字段新名称字段类型[是否允许非空];
例如:
修改表expert_info中的字段birth,允许其为空
>altertableexpert_infochangebirthbirthvarchar(20)null;
1.增加一个字段(一列)
altertabletable_nameaddcolumncolumn_nametypedefaultvalue;type指该字段的类型,value指该字段的默认值
例如:
altertablemybookaddcolumnpublish_housevarchar(10)default”;
2.更改一个字段名字(也可以改变类型和默认值)
altertabletable_namechangesorce_col_namedest_col_nametypedefaultvalue;source_col_name指原来的字段名称,dest_col_name
指改后的字段名称
例如:
altertableBoard_InfochangeIsMobileIsTelphoneint(3)unsigneddefault1;
3.改变一个字段的默认值
altertabletable_namealtercolumn_namesetdefaultvalue;
例如:
altertablebookalterflagsetdefault'0′;
4.改变一个字段的数据类型
altertabletable_namechangecolumncolumn_namecolumn_nametype;
例如:
altertableuserinfochangecolumnusernameusernamevarchar(20);
5.向一个表中增加一个列做为主键
altertabletable_nameaddcolumncolumn_nametypeauto_incrementPRIMARYKEY;
例如:
altertablebookaddcolumnidint(10)auto_incrementPRIMARYKEY;
6.数据库某表的备份,在命令行中输入:
mysqldump-uroot-pdatabase_nametable_name>bak_file_name
例如:
mysqldump-uroot-pf_infouser_info>user_info.dat
7.导出数据
select_statmentintooutfile”dest_file”;
例如:
selectcooperatecode,createtimefrompublishlimit10intooutfile”/home/mzc/temp/tempbad.txt”;
8.导入数据
loaddatainfile”file_name”intotabletable_name;
例如:
loaddatainfile”/home/mzc/temp/tempbad.txt”intotablepad;
9.将两个表里的数据拼接后插入到另一个表里。下面的例子说明将t1表中的com2和t2表中的com1字段的值拼接后插入到tx表对应的
字段里。
例如:
insertintotxselectt1.com1,concat(t1.com2,t2.com1)fromt1,t2;
10,删除字段
altertableform1dropcolumn列名;