返回顶部

欢迎来到菜鸟大明儿哥的博客

我们一起交流学习,不断提升自我

MySQL 常用命令(3)------表基本操作

五、表的基本操作

1、创建表

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

例:

mysql> create table Class(
> 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、删除表

语法:drop table <表名>

mysql> drop table Class;

 

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

注意:对于一个带分区的表,DROP TABLE会永久性地删除表定义,删除各分区,并删除储存在这些分区中的所有数据。DROP TABLE还会删除与被删除的表有关联的分区定义(.par)文件。

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

RESTRICT和CASCADE可以使分区更容易。目前,RESTRICT和CASCADE不起作用。

 

3、向表中插入数据

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

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

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

 

4、查询表中的数据

1.查询所有行
命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
例如:查看表 Class 中所有数据
   mysql> select * from MyClass;

2.查询前几行数据
例如:查看表 Class 中前2行数据
mysql> select * from MyClass order by id limit 0,2;

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

 

5、删除表中的数据

语法:delete from 表名 where 表达式

mysql> delete from Class where id=1;

注意:delete删除数据时,要有where条件,否则会删除掉所有数据。最好先将delete换成select查看下要删除的内容。

 

6、修改表中的数据

语法:update 表名 set 字段=新值,… where 条件

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

例1:单表的MySQL UPDATE语句:
   UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]

例2:多表的UPDATE语句:
UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

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

 

7、增加/删除字段

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

语法:alter table 表名 drop 字段名 ;

 mysql> alter table Class add passtest int(4) default '0'

 mysql> alter table Class drop passtest 

 

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

 

加索引
   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;

 

8、修改表名

语法:rename table 原表名 to 新表名;

 mysql> rename table Class to YClass;

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

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

 

posted @ 2020-06-10 16:21  菜鸟大明儿哥  阅读(247)  评论(0编辑  收藏  举报