您的位置:首页 > 数据库 > MySQL

MySQL 基础知识

2014-02-14 14:44 423 查看

一、了解SQL

一、什么是数据库

  数据库是保存数据的容器,数据库管理系统(DBMS)。

二、表

  文件就是表,表可以存储特定类型的数据.

  1、列:表中的一个字段,表都是同一个列或多个列组成的.

  2、行:表中的数据是按行存储的,每条记录存储在自己的行内.

  3、数据类型:

三、主键

  表中每一行都应该有唯一标识的自己列,一列中的值能够唯一区分表中每个行

  主键具有两个条件:

  1、任意两行都不具有相同的主键值

  2、每行必须有一个主键(不能为NULL)

二、使用MySQL

一、mysql命令行实用程序

  1、链接数据库:mysql -h localhost -u root -p 111111;

  2、use:选择数据库,use rrgdb;

  3、show:显示数据表和数据库,show tables; 或 show databases;

  2、\h:获取帮助信息

  3、quit或exit:退出命令程序

二、检索数据库 SELECT

  使用select语句从表中检索一个或多个数据列

  1、检索单个列:

  SELECT username FROM rrgdb;    // 从rrgdb表中检索username列

  

  2、检索多个列:

  SELECT username, password FROM rrgdb;  // 检索username和password列

  3、检索所有列

  SELECT * FROM rrgdb;    // 检索所有列

  4、检索列有几个不同的值

  如,id列中有 (111,2222,333,333,4,4),共有四个不同的值,为111,2222,333,4

  通过 distinct

  SELECT DISTINCT userId FROM rrgdb;

  5、限制结果

    返回所有匹配的行,使用 limit 子句。

    SELECT username FROM rrgdb LIMIT 5;    // 返回不多于5行

    SELECT username FROM rrgdb LIMIT 5, 5;   // 返回下一个5行,第一个数为开始的位置,第二个数为要检索的行数

  6、完全限定表名

    SELECT rrgdb.username FROM rrgdb;    // 指定是rrgdb表中的username列

三、检序检索数据

  1、SELECT子句 order by 子句进行排序

    SELECT username FROM rrgdb ORDER BY username;  // 将username列进行排序

  2、排序方式 : order by  DESC

    SELECT username FROM rrgdb ORDER BY username DESC;  //

四、过滤数据

  1、select 语句的子句,where

    select * from dataTable where id =10;    // 在dataTable表中检索,条件是id为10的行

    where的操作符:=、<>不等于、!=不等于、<小于、<=小于等于、>大于、>=大于等于、or两个值满足一个、and两个值都为真

  

  2、where子句的 between 两个条件之间的值

    select * from dataTable where BETWEEN id=5 and id=10;    // 检索出dataTabel表中的id=5和id=10之间行数据

  3、is null 空值检查

    select * from dataTable where id is null;    // 检索dataTable表中的id 为空的字段

    

五、数据过滤

  1、AND操作符和OR操作符

    AND要优先于OR操作符

  2、IN操作符:用来指定范围

    select * from dataTable where id in (5,10);    // 检索dataTable表中id为5和10的字段

  3、NOT IN操作符:除了指定的值之外的

    select * from dataTable where id not in (2,4);    // 检索dataTable表中除了id为2和4的其它字段

六、用通配符进行过滤

  用于select 中的where条件

  1、like:使用like操作符来进行通配搜索,以便对数据进行复杂过滤

  2、% 通配符:出现的位置

    select * from dataTable where newsTitle like "中国%";    // 匹配dataTable表中的newsTitle列中以 中国开头的行

    select * from dataTable where newsTitle like "%中国";    // 匹配dataTable表中的newsTitle列中以 中国结尾的行

    select * from dataTable where newsTitle like "%中国%";    // 匹配dataTable表中的newsTitle列中以 中国 前后出现都可以的行

  3、_ 下划线通配符:仅代替一个字符

    select * from dataTable where newsTitle like "_hat";    // 匹配newsTitle列中的第一个字符 “what"

七、正则表达式进行搜索

  如果在where子句内使用正则表达式来控制数据

  1、使用regexp

    select * from products where pro_name regexp "100";  // 检索pro_name列中含有文本100的字段

  2、or进行匹配:

    select * from products where pro_name regexp "100|200";  // 检索pro_name列中含有文本100或200的字段
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: