SQL

结构化查询语言(英语:Structural Query Language,缩写:SQL),是一种特殊目的之编程语言,用于数据库中的标准数据查询语言.

各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。

SQL keywords are NOT case sensitive(对大小写不敏感): select is the same as SELECT

What Can SQL do?

  • SQL can execute queries(查询) against a database
  • SQL can retrieve(获取) data from a database
  • SQL can insert(插入) records in a database
  • SQL can update(改动更新) records in a database
  • SQL can delete(删除) records from a database
  • SQL can create new databases(生成新的数据库)
  • SQL can create new tables in a database(生成新的数据表)
  • SQL can create stored procedures in a database
  • SQL can create views in a database
  • SQL can set permissions on tables, procedures, and views

Some of The Most Important SQL Commands

  • SELECT - extracts data from a database
  • UPDATE - updates data in a database
  • DELETE - deletes data from a database
  • INSERT INTO - inserts new data into a database
  • CREATE DATABASE - creates a new database (创建数据库)
  • ALTER DATABASE - modifies a database
  • CREATE TABLE - creates a new table    (创建数据表)
  • ALTER TABLE - modifies a table
  • DROP TABLE - deletes a table
  • CREATE INDEX - creates an index (search key)
  • DROP INDEX - deletes an index

SQL 基本用法

SQL SELECT

SELECT column_name,column_name
FROM table_name;

and

SELECT * FROM table_name;

SQL WHERE Clause

The WHERE clause is used to filter records.

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

SQL AND & OR Operators

The AND & OR operators are used to filter records based on more than one condition.

example:

SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='München');

SQL ORDER BY Keyword

The ORDER BY keyword is used to sort the result-set(给结果集排序) by one or more columns.

The ORDER BY keyword sorts the records in ascending order by default. To sort the records in a descending order, you can use the DESC keyword.

SQL INSERT INTO Statement

The INSERT INTO statement is used to insert new records in a table.(数据表中插入几条新的数据)

1 The first form does not specify the column names where the data will be inserted, only their values:

INSERT INTO table_name
VALUES (value1,value2,value3,...);

2 The second form specifies both the column names and the values to be inserted:

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);

SQL UPDATE Statement

The UPDATE statement is used to update existing records in a table.

SQL UPDATE Syntax

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

The WHERE clause specifies which record or records that should be updated. If you omit the WHERE clause, all records will be updated!

SQL DELETE Statement

The DELETE statement is used to delete rows in a table.

SQL DELETE Syntax

DELETE FROM table_name
WHERE some_column=some_value;

The WHERE clause specifies which record or records that should be deleted. If you omit the WHERE clause, all records will be deleted!

与update一样,需要注意where,否则影响就是整个数据表

SQL SELECT TOP Clause

The SELECT TOP clause can be very useful on large tables with thousands of records. Returning a large number of records can impact on performance.(对性能产生影响)

SQL LIKE Operator

The LIKE operator is used to search for a specified pattern in a column.

SQL LIKE Syntax

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;

MySQL

MySQL  is an open-source relational database management system (RDBMS).

多种編程语言提供了API。这些編程语言包括C、C++、C#、VB.NET、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。

PHP支持哪些数据库

PHP通过安装相应的扩展来实现数据库操作,现代应用程序的设计离不开数据库的应用,当前主流的数据库有MsSQL,MySQL,Sybase,Db2,Oracle,PostgreSQL,Access等.

数据库扩展

PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。

像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。

mysql扩展进行数据库连接的方法:

$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');

mysqli扩展:

$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');

PDO扩展

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';
$dbh = new PDO($dsn, $user, $password);

连接MySQL数据库

通常我们使用mysql_connect函数进行数据库连接

当连接成功以后,我们需要选择一个操作的数据库,通过mysql_select_db函数来选择数据库。

关闭数据库

mysql_close()

选择数据库

mysql_select_db

执行SQL语句

比如插入 insert table_name( )  values ()

为了让 PHP 执行SQL语句,我们必须使用 mysql_query() 函数。该函数用于向 MySQL 连接发送查询或命令。

mysql_query(query,connection)

在数据库建立连接以后就可以进行查询,采用mysql_querysql语句的形式向数据库发送查询指令。

mysql_error() 函数返回上一个 MySQL 操作产生的文本错误信息

mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID。

4个fetch 语句

mysql_query('set names utf8')

设置数据库字符集为utf8

$query = mysql_query('select * from test')

当mysql_query语句中的是select语句时,如果执行成功,返回的是资源标识符。

mysql_fetch_row()

每执行一次,都从资源也就是结果集里返回第一条数据,以数组的形式返回。

返回的数组是一个一维索引数组,下标值与数据库里的字段排序对应。

mysql_fetch_array()

mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有

默认状态下取一条数据产生一个索引数组和一个关联数组

mysql_fetch_array(data,array_type)

array_type

  • MYSQL_ASSOC     - 关联数组
  • MYSQL_NUM      - 数字数组
  • MYSQL_BOTH       - 默认。同时产生关联和数字数组

mysql_fetch_assoc()

与上一个函数mysql_fetch_array(data,MYSQL_ASSOC) 效果一样

mysql_fetch_object()

返回的是一个对象

mysql_num_rows()

mysql_num_rows(data)     函数返回结果集中行的数目。

mysql_result()

mysql_result() 函数返回结果集中一个字段的值。

mysql_result(data,row,field)
data 必需。规定要使用的结果标识符。该标识符是 mysql_query() 函数返回的。
row 必需。规定行号。行号从 0 开始。
field

可选。规定获取哪个字段。可以是字段偏移值,字段名或 table.fieldname。

如果该参数未规定,则该函数从指定的行获取第一个字段。

Order By 关键词

SELECT column_name(s)
FROM table_name
ORDER BY column_name

ORDER BY 关键词用于对记录集中的数据进行排序

SQL MySQL的更多相关文章

  1. [sql]mysql管理手头手册,多对多sql逻辑

    各类dbms排名 cs模型 mysql字符集设置 查看存储引擎,字符集 show variables like '%storage_engine%'; show VARIABLES like '%ma ...

  2. VS连接数据库的通用方法(SQL/MySql)

    在vs里面连接数据库的方法有很多,这里是通用的方法和基本操作 SQL /// <summary> /// 数据访问抽象基础类 /// Copyright (C) Maticsoft /// ...

  3. SQL mysql优化

    慢查询 如何通过慢查日志发现有问题的SQL? 查询次数多且每次查询占用时间长的SQL pt-query-digest分析前几个查询 IO大的SQL pt-query-diges分析中的Rows exa ...

  4. [sql]mysql指引(整理中...)-对db的分类

    参考 db存储及分层 一个db一个文件夹. 一张表两个文件frm是存表结构的,ibd是存数据的 连接层: sock ip sql层: 存储层: 2018年4月1日 20:53:54小结: 时间太久,抓 ...

  5. [sql]mysql参数(配置)手册

    my-innodb-heavy-4G.cnf配置文件注解 [client] #客户端 port = 3306 #mysql客户端连接时的默认端口号 socket = /application/mysq ...

  6. 学习笔记之SQL / MySQL

    SQL Fiddle(在线执行SQL语句的网站) http://www.sqlfiddle.com/ MySQL https://www.mysql.com/ MySQL :: MySQL 5.7 R ...

  7. sql: MySQL and Microsoft SQL Server Stored Procedures IN, OUT using csharp code

    MySQL存储过程: #插入一条返回值涂聚文注 DELIMITER $$ DROP PROCEDURE IF EXISTS `geovindu`.`proc_Insert_BookKindOut` $ ...

  8. mybatis 一次执行多条SQL MySql+Mybatis+Druid之SqlException:sql injection violation, multi-statement not allow

    如果用JDBC jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf8 ...

  9. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

随机推荐

  1. Java 在本地文件中查找固定字符串

    适用范围:只适用于在文本文档中查找(如,txt.java.c等等,并不适用与doc.xls等等这些文件),可嵌套文件夹.但是对中文不支持. 例如:文件夹:F:/demo 子文件夹:F:/demo/er ...

  2. openstack中的floating ip与阿里云的公网ip

    项目组因业务需求使用openstack搭建了一个私有云,本想在vm上搭建一个ftp.源是vsftpd.所有配置都完成了,在远程登录的时候却出现了 这个问题. 初一看以为是文件夹权限的问题,可上上下下全 ...

  3. 办理渥太华大学(本科)学历认证『微信171922772』Ottawa U学位证成绩单使馆认证University of Ottawa

    办理渥太华大学(本科)学历认证『微信171922772』Ottawa U学位证成绩单使馆认证University of Ottawa QQ/微信171922772办理毕业证成绩单.真实使馆及教育部学历 ...

  4. elasticsearch基本概念

    NRT(近实时搜索) Elasticsearch是一个NRT平台.这意味着当你索引一个文件时,在细微的延迟(通常1s)之后,该文件才能被搜索到. Cluster(集群) cluster是在所有节点中保 ...

  5. 【.NET-MVC】ASP.NET MVC学习笔记1-概述

    第 1 篇:理解控制器和视图 MVC概述 MVC原理就是模型.视图.控制器的框架.   (其实也是种思想,为了让前端.程序.数据分开,也是想实现低耦合.高内聚) MVC请求流程是:访问控制器,控制器来 ...

  6. lzo压缩格式文件查看

    使用lzop命令解压并查看 :lzop -cd xxx.lzo |more 附压缩命令:lzop xxx.log (生成xxx.log.lzo) 其它参数: # lzop -v test # 创建te ...

  7. html5之datalist标签

    当我看到这个标签的时候,其实我是很愤怒的.因为我以前实现过这个标签的功能,当时是无比的费劲.什么js库呀,function呀.我靠,统统去屎吧,哥有datalist了.那种感觉就好像自己千辛万苦去追去 ...

  8. 汇农PC个人中心总结

    1. 技巧总结 1. 使用 padding 编写灵活的 登录 | 注册, '|' 竖线, 参考: http://www.imooc.com/learn/710 font-size: 0; border ...

  9. 文档在线预览开源实现方案二:OpenOffice + pdf.js

    文档在线预览的另一种实现方式采用的技术栈是OpenOffice + pdf.js, office文档转换为pdf的工作依然由OpenOffice的服务来完成,pdf生成后我们不再将其转换为其他文件而是 ...

  10. 复习java7 集合的底层实现理解

    1.ArrayList 特点:查询快,增删慢,可以重复,无序 实现:底层是用数组实现的,在添加数据的时候,当数组已经满了,会扩容,默认增加1.5倍的原数组长度,并将旧的数组数据拷贝到新的数组上. 2. ...