SQL学习笔记 第1次
2013-04-10 17:36
253 查看
1、SQL 是用于访问和处理数据库的标准的计算机语言,可以用来访问Oracle, Sybase, SQL Server, DB2, Access 等等。
2、要创建发布数据库中数据的网站,您需要以下要素:
a.RDBMS 数据库程序(比如 MS Access, SQL Server, MySQL)
b.服务器端脚本语言(比如 PHP 或 ASP)
c.SQL
d.HTML / CSS
3、SQL语句对大小写不敏感,语句间用";"号隔开。
4、SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
查询和更新指令构成了 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
SQL 中最重要的 DDL 语句:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
5、SELECT:用于查询
测试用person表,首先需创建下面这样的一个表格,并插入3行数据。
这里我使用SQLyog+MYSQL进行练习:
6、INSERT INTO插入语句
继续上面的练习,插入3行数据:
不小心执行了两次,用删除语句删掉:
但这样不符合我的需求,我要如果有重复的数据,只保留1条,百度一下:
7、select中where接条件
8、update用于更新表的数据
9、现在想新增一列age
10、"一不小心"多增加了一列age2,而且"粗心"把age写成了date数据格式。
11、为了证明他们还活着,新增一列alive,并设置默认值为alive,且只能为dead or alive
2、要创建发布数据库中数据的网站,您需要以下要素:
a.RDBMS 数据库程序(比如 MS Access, SQL Server, MySQL)
b.服务器端脚本语言(比如 PHP 或 ASP)
c.SQL
d.HTML / CSS
3、SQL语句对大小写不敏感,语句间用";"号隔开。
4、SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
查询和更新指令构成了 SQL 的 DML 部分:
SELECT - 从数据库表中获取数据
UPDATE - 更新数据库表中的数据
DELETE - 从数据库表中删除数据
INSERT INTO - 向数据库表中插入数据
SQL 中最重要的 DDL 语句:
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引
5、SELECT:用于查询
SELECT 列名称 FROM 表名称 例如: SELECT LastName,FirstName FROM Persons 使用*可以代表所有列 |
Id | LastName | FirstName | Address | City |
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
CREATE TABLE person ( LastName VARCHAR(255), FirstName VARCHAR(255), Address VARCHAR(255), City VARCHAR(255) ); /*创建一个表*/ | |
数据类型 | 描述 |
integer(size) int(size) smallint(size) tinyint(size) | 仅容纳整数。在括号内规定数字的最大位数。 |
decimal(size,d) numeric(size,d) | 容纳带有小数的数字。 "size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。 |
char(size) | 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。 在括号中规定字符串的长度。 |
varchar(size) | 容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。 在括号中规定字符串的最大长度。 |
date(yyyymmdd) | 容纳日期。 |
INSERT INTO 表名称 VALUES (值1, 值2,....) INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) |
INSERT INTO person VALUES ('Adams','John','Oxford Street','London'); INSERT INTO person VALUES ('Bush','George','Fifth Avenue','New York'); INSERT INTO person VALUES ('Carter','Thomas','Changan Street','Beijing'); |
DELETE FROM person; |
CREATE TABLE person2 as SELECT distinct * from person; #基本思路就是利用distinct创张表,去除重复项 ALTER TABLE person RENAME TO person_old; ALTER TABLE person2 RENAME TO person; #改名,最好不要drop吧,新表万一有问题,还有原始表在 |
SELECT * FROM persons WHERE City='Beijing'; #数字不用加上引号,字符要加。 SELECT * FROM person WHERE City='Beijing'AND FirstName='Thomas' AND LastName='Carter'; #用and和or连接多个条件。 | |
操作符 | 描述 |
= | 等于 |
<> 有些可以写成 != | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
BETWEEN | 在某个范围内 |
LIKE | 搜索某种模式 |
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 UPDATE person set city='Shanghai' where city='Beijing' and FirstName='Thomas'; #更新数据。 |
ALTER TABLE person add age date ; ALTER TABLE person add age2 date ; |
ALTER TABLE person DROP COLUMN age2; #首先把age2列删除。。 ALTER TABLE person modify COLUMN age int(255); #然后修改age的数据格式 |
ALTER TABLE person add COLUMN alive char(100) DEFAULT 'alive' check(alive in ('alive','dead')); #东拼西凑弄了这个语句,新增alive列,设置默认值,检查数据范围3合一 UPDATE person SET alive='deed' WHERE lastName='Adams'; #居然可以写进去。。。check不起作用,内牛满面。。。不知道为什么 |
相关文章推荐
- 关于SQL中,C#监视某张表SqlDependency学习笔记 .
- Enterprise Library 4.1学习笔记3——缓存应用程序块之SqlDependency
- Sql语句学习笔记(1)-创建数据库
- sql 学习笔记 档
- .NET深入学习笔记(1):DataSet和SqlDataReader性能差异深入剖析与测试
- PL/SQL 学习笔记(二)----- pl/sql 查询行函数
- sql 2005学习笔记1
- 基本的SQL语句学习笔记一
- SQL基础学习笔记(三)—约束
- mysql学习笔记1-sql分类和数据库操作
- SQL 学习笔记<三> SELECT之连接查询
- Java学习笔记--sql与java
- Hawq学习笔记 --- 批量导入sql文件
- SQL 学习笔记<六> MySQL存储过程/存储函数/触发器
- linq to sql 语法 学习笔记(2)
- SQL学习笔记5——用代码实现对列的 增、删、改和约束
- 75.笔记 MySQL学习——C编写MySQL程序八一次执行多条SQL
- 【知了堂学习笔记】SQL查询总结(2)
- OAF学习笔记-8-在AM中直接调用sql 语句(PLSQL函数)
- sql学习笔记1