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

  • 相关阅读:
    什么是webview
    juqery.fn.extend和jquery.extend
    LeetCode
    5. Longest Palindromic Substring
    42. Trapping Rain Water
    11. Container With Most Water
    621. Task Scheduler
    49. Group Anagrams
    739. Daily Temperatures
    3. Longest Substring Without Repeating Characters
  • 原文地址:https://www.cnblogs.com/zhm1985/p/13086057.html
Copyright © 2011-2022 走看看