mysql命令(三)——对表操作

1、create table命令用来创建数据表。
create table命令格式:

create table <表名> (<字段名1> <类型1> [,..<字段名n> <类型n>]);

1.1 建立一个名为MyClass的表:

mysql> create table score(
     > id int(4) not null primary key auto_increment,
     > name char(20) not null,
     > sex int(4) not null default '0',
     > degree double(16,2));

2、desc命令用于获取数据表结构。
desc命令格式:

desc 表名;
show columns from 表名;//也能获取数据表结构。

3、drop table命令用于删除数据表。
drop table命令格式:

drop table <表名>;

4.1 删除表名为score的表:

mysql> drop table score;

DROP TABLE用于删除一个或多个表。您必须有每个表的DROP权限。所有的表数据和表定义会被取消,所以使用本语句要小心!

注意:对于一个带分区的表,DROP TABLE会永久性地取消表定义,取消各分区,并取消储存在这些分区中的所有数据。

对与不存在的表,使用IF EXISTS用于防止错误发生。当使用IF EXISTS时,对于每个不存在的表,会生成一个NOTE(警告)。

mysql> DROP TABLE if exists score;

5、insert into命令用于向表中插入数据。
insert into命令格式:

insert into <表名> [(<字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )];

5.1 往表 score中插入两条记录,这两条记录表示:编号为1的名为Tom的成绩为96.45,编号为2 的名为Joan的成绩为82.99,编号为3 的名为Wang的成绩为96.5。

mysql> insert into score values(1,'Tom',96.45),(2,'Joan',82.99),(2,'Wang', 96.59);

注意:insert into每次只能向表中插入一条记录。

6、select from命令用来查询表中的数据。
6.1 查询所有行,命令格式:

select <字段1, 字段2, ...> from < 表名 > where < 表达式 >;

6.2 查询前几行数据,查看表 test 中前2行数据:

mysql> select * from test order by id limit 0,2;

select一般配合where使用,以查询更精确更复杂的数据。

7、delete from命令用于删除表中的数据。
delete from命令格式:

delete from 表名 where 表达式;

例如,删除表test中编号为1 的记录:

mysql> delete from test where id=1;

8、update set命令用来修改表中的数据。
update set命令格式:

update 表名 set 字段=新值,… where 条件;

mysql> update test set name='Mary' where id=1;

8.1 单表的MySQL UPDATE语句:

UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count];

UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。如果指定了ORDER BY子句,则按照被指定的顺序对行进行更新。LIMIT子句用于给定一个限值,限制可以被更新的行的数目。

9、alter add命令用来增加表的字段。
alter add命令格式:

alter table 表名 add字段 类型 其他;

例如,在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0:

mysql> alter table MyClass add passtest int(4) default '0';
//加索引
mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
//例子: mysql> alter table employee add index emp_name (name);

//加主关键字的索引
mysql> alter table 表名 add primary key (字段名);
//例子: mysql> alter table employee add primary key(id);

//加唯一限制条件的索引
mysql> alter table 表名 add unique 索引名 (字段名);
//例子: mysql> alter table employee add unique emp_name2(cardnumber);

//删除某个索引
mysql> alter table 表名 drop index 索引名;
//例子: mysql>alter table employee drop index emp_name;

//增加字段
mysql> ALTER TABLE table_name ADD field_name field_type;

//修改原字段名称及类型
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

//删除字段
mysql> ALTER TABLE table_name DROP field_name;

10、rename命令用于修改表名。
rename命令格式:

rename table 原表名 to 新表名;
//例如,在表test名字更改为tests:
//mysql> rename table test to tests;

当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

如果在多表更名中,MySQL 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态。

11、mysqldump命令用来备份数据库。

//导出整个数据库(导出文件默认是存在mysql\bin目录下)
格式: mysqldump -u 用户名 -p 数据库名 > 导出的文件名;
例子: mysqldump -u user_name -p123456 database_name > outfile_name.sql;

//导出一个表
格式: mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名;
例子: mysqldump -u user_name -p database_name table_name > outfile_name.sql;

//带语言参数导出
mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

例如,将aaa库备份到文件back_aaa中:

[root@test1 root]# cd /home/data/mysql
[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值