转自:http://blog.csdn.net/juanna_ding/article/details/5529803
1.登录数据库
>MySQL -h localhost -u root -p 数据库名称
2.查询所有的数据库
>show databases;
3.选择数据库
>use 数据库名;
4.查询所有数据表
>show tables;
5.查询表的字段信息
>desc 表名称;
6.1.修改某个表的字段类型及指定为空或非空
>alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];
>alter table 表名称 modify 字段名称 字段类型 [是否允许非空];
6.2.修改某个表的字段名称及指定为空或非空
>alter table 表名称 change 字段原名称 字段新名称 字段类型 [是否允许非空];
例如:
修改表expert_info中的字段birth,允许其为空
>alter table expert_info change birth birth varchar(20) null;
1.增加一个字段(一列)
alter table table_name add column column_name type default value; type指该字段的类型,value指该字段的默认值
例如:alter table mybook add column publish_house varchar(10) default '';
2.更改一个字段名字(也可以改变类型和默认值)
alter table table_name change sorce_col_name dest_col_name type default value; source_col_name指原来的字段名称,dest_col_name
指改后的字段名称
例如:alter table Board_Info change IsMobile IsTelphone int(3) unsigned default 1;
3.改变一个字段的默认值
alter table table_name alter column_name set default value;
例如:alter table book alter flag set default '0';
4.改变一个字段的数据类型
alter table table_name change column column_name column_name type;
例如:alter table userinfo change column username username varchar(20);
5.向一个表中增加一个列做为主键
alter table table_name add column column_name type auto_increment PRIMARY KEY;
例如:alter table book add column id int(10) auto_increment PRIMARY KEY;
6.数据库某表的备份,在命令行中输入:
mysqldump -u root -p database_name table_name > bak_file_name
例如:mysqldump -u root -p f_info user_info > user_info.dat
7.导出数据
select_statment into outfile"dest_file";
例如:select cooperatecode,createtime from publish limit 10 into outfile"/home/mzc/temp/tempbad.txt";
8.导入数据
load data infile"file_name" into table table_name;
例如:load data infile"/home/mzc/temp/tempbad.txt" into table pad;
9.将两个表里的数据拼接后插入到另一个表里。下面的例子说明将t1表中的com2和t2表中的com1字段的值拼接后插入到tx表对应的
字段里。
例如:insert into tx select t1.com1,concat(t1.com2,t2.com1) from t1,t2;
10,删除字段
alter table form1 drop column 列名;
主键部分
转自:http://www.cnblogs.com/suiy-160428/p/5649911.html
1. 添加主键约束:
alter table tbl_name add primary key (index_col_name,…); #括号中为字段名,可以为一个或者多个
2. 在数据表已存在的情况下,且无主键,添加新的字段作为主键,并将该字段移到表格的第一列
alter table tbl_name add col_name col_definition (data type, null, default...) primary key first current_first_col_name; # current_first_col_name表示当前数据表的第一列
Notes:关键字first表示位于某一列的前面,如果加入的字段需要位于某一列的后面,可以使用after
3. 数据表已存在,且有主键,修改主键的定义
关键字modify
alter table tbl_name modify col_name col_definition [first|after col_name] #在col_definition 声明要修改的属性,如要添加自动编号auto_increment
Notes:
1) 此时不需要重新声明主键属性primary key,如果添加了则会报错:主键重复;
2) 如果原有属性中存在auto_increment,修改时需要加上auto_increment,否则auto_increment属性被删除
关键字change
alter table tbl_name change col_name col_name col_definition [first|after col_name] #与modify的区别在于列表需要写两次列名,相当于原列名和新列名,所以change也可以用来修改列名