zoukankan      html  css  js  c++  java
  • 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 遭遇到任何错误,它将对所有被更名的表进行回退更名,将每件事物退回到最初状态。

  • 相关阅读:
    html标签
    正则表达式判断号码靓号类型
    power函数:求底的n次幂
    php5.3的新特性
    xml方式操作txt文件
    什么是闭包?
    php设计模式单例模式
    面试总结
    统计ip代码
    XSL语言学习
  • 原文地址:https://www.cnblogs.com/zhm1985/p/13086057.html
Copyright © 2011-2022 走看看