【菜鸟数据库学习日记】从头开始学MySQL(2)

来源:互联网 发布:淘宝怎样更换淘宝账号 编辑:程序博客网 时间:2024/05/16 17:55

1,从表中取得数据

   * 返回表中所有行

   mysql>SELECT * from your_table;

  关键词 WHERE后跟条件,选择返回符合条件的所有行,筛选条件比较运算符后面跟的值,CHAR,VARCHAR,DATE,DATETIME,TIME,TIMESTAMP,BLOB类型都要加单引号,INT和DEC数据类型不用加,加了也不影响。如果输入了不成对的单引号,会卡在回车处直到输入了另一个单引号分号再回车,然后才报错 ERROR 1064.  想要输入单引号作为字符中的一个需要使用转义符 \ ' 或者连续两个单引号 '',一般筛选都是用其他条件,不直接拿出想要的那一列的值作比较,因为担心输入错误影响筛选结果,但是在保证输入无误情况下可以直接拿来比。

  mysql>SELECT * FROM your_table WHERE name = 'yueyue';

   只返回符合条件的行的name那一列。筛选条件中使用的比较运算符,等号= ,不等于<> ,大于,小于,大于等于,小于等于,拿符号左侧内容和右侧内容比较,符合要求则返回左侧内容,否则返回null,注意这里的不等于 符号,与Java完全不同。文本内容也可以用比较运算符,效果和数值的差不多。

  mysql>SELECT name FROM your_table WHERE id=071110207;

  也可以返回符合条件行的多个列

  mysql> SELECT name ,id FROM your_table WHERE gender='F';

  可以设置需要同时满足的两个条件,关键词AND

  mysql> SELECT name FROM your_table WHERE id=071110211  AND gender='F';

  设置两个筛选条件,只要满足其一就选择,关键词OR,AND可以和OR在同一条语句中使用

  mysql> SELECT name FROM your_table WHERE name='gougou' OR name='yueyue';

  筛选某一字段为空的行,显示指定列。关键词 IS NULL

  mysql>SELECT name FROM your_table WHERE id IS NULL;

  筛选字段内容符合某一条件的行,这里用到通配符,% 替代任意数量的未知字符;_ 替代一个未知字符,两种可以在一起使用。

  mysql>SELECT * FROM your_table WHERE name LIKES '%gou';

  关键词BETWEEN  a TO b等价于 >= AND <= ,但是不等价于 > AND < ,这里a和b大小关系要明确,必须是a<b,不然返回值是NULL,用来匹配字母的时候一般匹配到目标字母的后一个或前一个字母,以保证得到想要的内容。

  mysql>SELECT name FROM your_table WHERE age BETWEEN 18 AND 28;

  同一个字段有很多个筛选值并且是或(OR)的关系,可以放在一个括号用关键字IN 进行筛选,只要匹配其中一个值就返回。

  mysql>SELECT date FROM your_table WHERE id IN(071110201,071010200,...);

  如果要筛选同一字段不为某些值的行,使用关键词 NOT IN ,换成比较运算符需要用否定和AND. 下面这句中,可以是 id NOT IN,也可以是NOT id IN ,不影响功能。

  mysql>SELECT date FROM your_table WHERE id NOT IN(071110101,071010101,...);

  如果要否定BETWEENNOT需要紧跟WHERE,否定ANDORNOT要紧跟ANDOR。也可以用于否定NULL和不等号<>

  mysql>SELECT date FROM your_table WHERE NOT id BETWEEN 0711111 TO 0712222;

  mysql>SELECT name FROM your_table WHERE NOT id=071110214 AND NOT gender='F';

  mysql>SELECT name FROM your_table WHERE id IS NOT NULL;

  mysql>SELECT name FROM your_table WHERE NOT id <> 071210212;


2,删除记录

  删除记录关键词DELETE ,只能删除一行或多行,不能删除列(一列或某行的一个单元格都不行),所以和FROM 之间不用加字段名称,WHERE关键词后面的用法与SELECT完全一致。但是使用时要注意WHERE关键词后选择条件一定要设置准确,不然会删除意外的数据。

 mysql>DELETE FROM your_table WHERE name='gougou';

下面这句可以删除整个表的每一行.

  mysql>SELETE FROM your_table;

  3,更新数据

 关键词 UPDATE 用于声明语句是更新数据,SET 语句后跟要更新的列名称和更新值,条件语句WHERE选择符合条件的行。能更新符合条件的一行或多行中,指定的一列或多列的值。不加条件语句会将所有行指定列的值改变,更新语句可以是表达式。条件语句和前面用到的完全一致,只是为了筛选。

  mysql>UPDATE your_table SET name = 'feifei' WHERE gender='F' AND id =071110214;

  mysql>UPDATE your——table SET age=age+4 WHERE name='gougou';







 

0 0