如何安装使用SQL

英文原文http://www3.ntu.edu.sg/home/ehchua/programming/sql/MySQL_HowTo.html#intro

我没有按照字句翻译,我把主要的意思翻译明白。



有没有老师你都可以学会这里的三个部分。

第一部分  介绍一下关系型数据库还有SQL

  第一小节  关系数据库

关系数据库就是在表里存储数据,有行有列,行叫记录、列叫域。

数据库管理系统有免费的如:MySQL, Apache Derby (Java DB), mSQL (mini SQL), SQLite, PostgreSQL and Apache OpenOffice's Base。收钱的有:Oracle, IBM DB2, Microsoft SQL Server and Access, SAP SyBase and Teradata


    第二小节  SQL语句

关系数据库的语言叫SQL,用来创建,更新,读取,删除记录。SQL定义了好些命令如:SELECTINSERTUPDATEDELETECREATE TABLEDROP TABLE

关系数据库的模型是1970IBMEdgar F. Codd 提出来的。后来Donald D. Chamberlin and Raymond F. Boyce 又进一步发展。

1986ANSI定义了SQL标准。后续有更新了好多,其它公司也出了一些自己的标准。

如果我们在studentdb数据库里创建一个名为class101的表,表有3个域:idnamegpa。我们这样定义数据类型:idint型,gpafloat型,name是小于50个字符的string型。就像下面这种:

Database: studentdb

Table: class101

+-----------+--------------------+-------------+

| id (INT)  | name (VARCHAR(50)) | gpa (FLOAT) |

+-----------+--------------------+-------------+

|   11      | Tan Ah Teck        |  4.4        |

|   33      | Kumar              |  4.8        |

|   44      | Kevin              |  4.6        |

+-----------+--------------------+-------------+


SQL定义了简便的接口:

SELECT

-- Syntax

SELECT column1column2,... FROM tableName WHERE criteria

 

-- Examples

SELECT name, gpa FROM class101

  -- Select the columns name and gpa from table class101

SELECT * FROM class101             

  -- The wildcard * denotes all the columns

SELECT name, gpa FROM class101 WHERE gpa >= 2.0

  -- You can compare numbers using =, >, <, >=, <=, <> (!=)

SELECT name, gpa FROM class101 WHERE name = 'Tan Ah Teck'

  -- Full-match (= or !=) on string. Strings are enclosed in single quotes

SELECT name, gpa FROM class101 WHERE name LIKE 'T_n%'

  -- Use "LIKE" for Pattern-matching, with

  --    Wildcard % matches zero or more (any) characters;

  --    Wildcard _ matches one (any) character;

SELECT * FROM class101 WHERE gpa > 3.0 OR name LIKE '%T_n%' ORDER BY gpa DESC, name ASC

  -- Use AND, OR, NOT on simple conditions

  -- Order the results in DESC (descending) or ASC (Ascending)

DELETE

-- Syntax

DELETE FROM tableName WHERE criteria

 

-- Examples

DELETE FROM class101  

  -- Delete ALL rows from the table class101! Beware! There is NO UNDO!

DELETE FROM class101 WHERE id = 33

  -- Delete rows that meet the criteria

INSERT

-- Syntax

INSERT INTO tableName VALUES (firstColumnValue, ..., lastColumnValue)       -- All columns

INSERT INTO tableName (column1column2, ...) VALUES (value1value2, ...)  -- Selected Columns

 

-- Example

INSERT INTO class101 VALUES (88, 'Mohammed Ali', 4.88)

INSERT INTO class101 (name, gpa) VALUES ('Kumar', 4.55)  

  -- Missing fields will be set to their default values or NULL

UPDATE

-- Syntax

UPDATE tableName SET column = value WHERE criteria

 

-- Examples

UPDATE class101 SET gpa = 5.0  -- ALL rows

UPDATE class101 SET gpa = gpa + 1.0 WHERE name = 'Tan Ah Teck'

CREATE TABLE

-- Syntax

CREATE TABLE tableName (column1Name column1Typecolumn2Name column2Type, ...)

 

-- Example

CREATE TABLE class101 (id INT, name VARCHAR(50), gpa FLOAT)

DROP TABLE

-- Syntax

DROP TABLE tableName

 

-- Example

DROP TABLE class101  -- Delete the table. Beware! There is No UNDO!!!


注意

1、SQL的关键字大小写敏感否是不确定的。MySQL是不敏感的。

2、程序员最好是把名字和字符串作为大小写敏感的处理。

3、 Sql 字符都是单引号(就是这个:‘’)的,好些也可以是双引号(就是这个“”)

  第二小节  关系数据库的管理系统

Mysql是好使的,免费,速度快。1995年,Michael "Monty" Widenius and David Axmark发明它。(后来是关于mysql的历史,没有翻译了)

Mysql很成功,有好多优点:免费,开源,速度快,容易上手,跨网络,跨平台,安全,小巧。高级数据库的特点它都有,如: transactions, foreign key, replication, subqueries, stored procedures, views and triggers.

Mysql的部署方式一般是:LAMP (Linux-Apache-MySQL-PHP), WAMP (Windows-Apache-MySQL-PHP), or MAMP (Mac-Apache-MySQL-PHP) 。全都是免费的。

Mysql的信息在网站是有,你看都看不完,好多好多。

Mysql操作方式是在tcp链接上用客户端—服务器的结构。服务器端配置一个ip,一个tcp的端口。默认的是3306.你最好选个别的,在102465535之间选。客户端也是配置一个ip,一个端口号。

一个数据库服务器可以有多个数据库,一个数据库可以有多个表,一个表有多个行列


   第三节    下载安装数据库并且开始编程























你可能感兴趣的:(SQL,数据库,MySQL,入门)