MSQ数据库

1. mysql数据库


 1.1 mysql数据库介绍


MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
1.2 mysq数据库特点
●MySQL 是开源的,目前隶属于 Oracle 旗下产品。
●MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
●MySQL 使用标准的 SQL 数据语言形式。
●MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
●MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
●MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
●MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。


1.3 mysql数据库的安装


1.3.1 官网下载


mysql官网下载mysql安装包,直接安装 MySQL :: Download MySQL Community Server
参考按照网址:MySQL数据库的下载及安装教程-百度经验


1.3.2 phpstudy集成mysql数据库


下载安装phpstudy ,使用其集成的mysql数据库 小皮面板(phpstudy) - 让天下没有难配的服务器环境!


2. SQL语句


2.1 SQL SELECT


SELECT 语句用于从数据库中选取数据。


2.1.1 查询指定字段

 

SELECT field1, field2,...fieldN FROM table_name;


2.1.2 查询全部
*代表所有的字段

SELECT * FROM table_name;

 


2.2 SQL WHERE

SELECT field1, field2,...fieldN FROM table_name WHERE 条件


WHERE 子句用于过滤记录。WHERE 子句用于提取那些满足指定条件的记录。


2.2.1 AND & OR 


AND & OR 运算符用于基于一个以上的条件对记录进行过滤
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

# and 运算符
SELECT * FROM Websites WHERE field1 = value AND field2 > value;

# or 运算符
SELECT * FROM Websites WHERE field1 = value or field2 > value;

2.2.3 WHERE 子句


以下为操作符列表,可用于 WHERE 子句中


2.2.4 IN


IN 操作符允许您在 WHERE 子句中规定多个值

SELECT field1, field2,...fieldN FROM table_name WHERE field IN (value1,value2,...);


2.2.5 BETWEEN


BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

SELECT field1, field2,...fieldN FROM table_name WHERE field BETWEEN value1 AND value2;


2.2.6 ORDER BY


ORDER BY 关键字用于对结果集进行排序
ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

SELECT field1, field2,...fieldN FROM table_name ORDER BY field1, field2 ASC|DESC;


2.2.7 GROUP BY


GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组

SELECT field1, field2,...fieldN aggregate_function(field) FROM table_name WHERE field operator value GROUP BY column_name;


2.2.8 SQL函数


SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。
●AVG() - 返回平均值
●COUNT() - 返回行数
●MAX() - 返回最大值
●MIN() - 返回最小值
●SUM() - 返回总和

#  AVG() 案例
SELECT AVG(column_name) FROM table_name

# COUNT() 案例
SELECT COUNT(column_name) FROM table_name;

# MAX() 案例
SELECT MAX(column_name) FROM table_name;

# MIN() 案例
SELECT MIN(column_name) FROM table_name;

# SUM() 案例
SELECT SUM(column_name) FROM table_name;


2.2.9 LIKE


LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

SELECT field1, field2,...fieldN FROM table_name WHERE field LIKE pattern;


通配符可用于替代字符串中的任何其他字符。在 SQL 中,通配符与 SQL LIKE 操作符一起使用。

# 案例
SELECT * FROM Websites WHERE url LIKE 'https%';

#案例
SELECT * FROM Websites WHERE name LIKE '_oogle';

# 案例
SELECT * FROM Websites WHERE name REGEXP '^[GFs]';

# 案例
SELECT * FROM Websites WHERE name REGEXP '^[^A-H]';


2.2.10 LIMIT


MySQL 支持 LIMIT 语句来选取指定的条数数据

# 获取指定条数
SELECT column_name(s) FROM table_name LIMIT number;

# 从指定的索引值位置获取指定的条数数据
SELECT column_name(s) FROM table_name LIMIT index,number;


2.3 SQL INSERT INTO


INSERT INTO 语句用于向表中插入新记录。

# 插入记录 values
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);

# 插入记录 set
INSERT INTO table_name SET column1 = value2,column2 = value2 ,column3 = value3 ,...;


2.4 SQL UPDATE


UPDATE 语句用于更新表中的记录


请注意 SQL UPDATE 语句中的 WHERE 子句!
WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!

UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;


2.5 SQL DELETE


DELETE 语句用于删除表中的记录


请注意 SQL DELETE 语句中的 WHERE 子句!
WHERE 子句规定哪条记录或者哪些记录需要删除。如果您省略了 WHERE 子句,所有的记录都将被删除!

DELETE FROM table_name WHERE some_column=some_value;

2.6 SQL 别名


通过使用 SQL,可以为表名称或列名称指定别名。
创建别名是为了让列名称的可读性更强


2.6.1 列的别名

SELECT column_name AS alias_name FROM table_name;

2.6.2 表的别名

SELECT column_name(s) FROM table_name AS alias_name;

2.7 SQL 连接(JOIN)


SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段
●INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。

# 等值连接
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

# 等价where子句
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a, tcount_tbl b WHERE a.runoob_author = b.runoob_author;
  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

 

  • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a RIGHT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值