表 中的记录:
表中有 行 和 列 ,每一行代表表中的一条记录,而每一列存储某种特定的信息,上面的班级学生信息表中的第一列表示学生ID信息。主键:
主键是表中一列或者一组列标识的,它的值能够唯一的标识表中的每一行,是唯一的,不能为NULL,表中的主键需要满足一下的条件:- 任意两行都不具有相同的主键值;
- 每一行都必须具有一个主键值(主键值不允许为NULL)
- 主键列中的值不允许修改或更新
SQL (structured Query Language)结构化查询语言
SQL是一种专门用来和数据库打交道的语言,许多数据库管理系统厂商都对SQL语言进行了相应的扩展,例如MySQL,Oracle,SQL Server等等,但是大多数数据库供应商都支持SQL。
MYSQL的安装
Ubuntu中安装MySql:
只需要在线安装即可:
在安装过程中可能需要为mysql root输入密码,需要记住密码,利用下面的方式打开MySQL:
1)检查MySQL的服务是否启动:
2)打开service服务:
表示服务已经启动,如果没有启动,可以使用如下的方式启动mysql service:
3) 使用root账号登陆:
其中-p表示输入密码,若没有为root输入密码,则不用-p查看系统中所有数据库:
链接数据库:
查看特定数据库的内容:
检索数据库
SELECT语句检索一个或多个数据列:
SELECT 列名(可以是多个列名) FROM 表名;上面为最简单的检索数据库语句,例如:
可以列举表中的多个列名,如果想检索表中的所有列,可以使用 * 通配符, 例如:
如果希望不显示相同的值,只希望显示不同的值,可以使用关键字DISTINCT,例如:
对检索的结果进行排序
SELECT 列名 FROM 表名 ORDER BY 一个列或者多个列名SELECT 列名 FROM 表名 ORDER BY 2,3//表示以列名表中的第2列和第3列排序(优先第2列,第2列相同的情况下根据第3列排序)通过 DESC(降序) 和 ASC(升序) 指定排序是降序还是升序,默认情况下是升序排列,例如:
- 注意 ORDER BY 语句应该是 SELECT 语句的最后一句
通过where进行检索过滤
形式:
SELECT 列名 FROM 表名 WHERE 子句 ORDER BY 子句;WHERE子句中的操作符
操作符 说明 操作符 说明 = 等于 > 大于 <> 不等于 >= 大于等于 != 不等于 !> 不大于 < 小于 BETWEEN 在指定的两个值之间 <= 小于等于 IS NULL 为NULL值 !< 不小于 ···
运用IS NULL的例子:
在 WHERE 子句中使用高级数据过滤, 例如 AND、OR、 IN、 NOT:
SELECT pro_id, prod_price, prod_name FROM Products WHERE vend_id = ‘DLL01‘ AND prod_price <= 4;SELECT pro_id, prod_price, prod_name FROM Products WHERE vend_id = ‘DLL01‘ OR vend_id = ‘BRS01‘;SELECT pro_id, prod_price, prod_name FROM Products WHERE vend_id IN (‘DLL01‘, ‘BRS01‘) ORDER BY prod_name;IN 操作符后跟由逗号分隔的合法值,这些值必须在括号里面, IN 的优点在于可以包含其他的SELECT语句,能够更加动态的建立WHERE子句。
使用 通配符 进行过滤, 为了使用通配符,必须在WHERE 子句中使用 LIKE 关键字,有如下几种通配符:
通配符 意义 % 任何字符出现任何次数 _ 只是匹配单个字符 [] 用来指定一个字符集 ····
下面是几个使用通配符的例子:
注意:
- 不要过度使用通配符,能使用别的方式代替尽量使用别的方式
尽量不雅在开头使用通配符
创建计算字段:
SELECT Concat(vend_name, ‘ (‘, vend_country, ‘)‘)
FROM Vendors
ORDER BY vend_name;
--功能:SELECT完成以下的拼接:
--存储在vend_name中的名字;
--包含一个空格和(的字符串;
--存储在vend_country中的国家;
--包含一个)的字符串。
AS取别名:
数据库的简单介绍
标签: