数据库类型:

  • 层次数据库(Hierarchical Database, HDB)

    数据通过层次结构(树形结构)的方式表示出来。

  • 关系型数据库(Relational Database, RDB)

    使用专门的SQL(Structured Query Language,结构化查询语言)语言对数据信息操作。

  • 面向对象数据库(Object Oriented Database, OODB)

    把数据以及数据的操作集合起来以对象为单位进行管理。

  • XML数据库(XML Database, XMLDB)

    可以对XML形式的大量数据进行高速处理。

  • 键值存储系统(key-Value Store, KVS) 如redis

    单纯用来保存查询所使用的主键和值得组合的数据库。

SQL语句及种类

  • DDL (Data Definition  Language)数据定义语言:

    CREATE : 创建数据库和表对象

    DROP:   删除数据库和表对象

    ALTER:  修改数据库和表对象得结构

  • DML(Data Manipulation Language数据库操作语言)占90%

    SELECT

    INSERT

    UPDATE

    DELETE

  • DCL(Data Control Language数据库控制语言)

    COMMIT:确认对数据库中的数据进行的变更。

    ROLLBACK:取消对数据库中的数据进行的变更。

    GRANT:赋予用户操作权限。

    REVOKE:取消用户的操作权限。

SQL基本书写规则

  SQL语句以分号(;)结尾。

  SQL不区分关键字的大小写。

  书写规则:

    1. 关键字大写
    2. 表名的首个字大写
    3. 其余(列名等)小写

字符串和日期常数需要使用单引号(') 括起来。数字常数无需加注单引号(直接书写数字即可)。

单词之间需要使用半角空格或者换行进行分隔。

表的创建

数据库的创建:CREATE DATABASE <数据库名称>;

表的创建:

CREATE TABLE<表名>

(<列名1>  <数据类型>  <该列所需约束>,

<列名2>  <数据类型>  <该列所需约束>,

...

<该表的约束1>,<该表的约束1>,...)

CREATE TABLE Shohin
(shohin_id CHAR(4) NOT NULL,
shohin_mei VARCHAR(100) NOT NULL,
shohin_bunrui VARCHAR(32) NOT NULL,
hanbai_tanka INTEGER ,
shiire_tanka INTEGER ,
torokubi DATE ,
PRIMARY KEY (shohin_id));

数据库名称、表名和列名等可以使用以下三种字符:半角英文字母、半角数字、下划线(_)。

名称必须以半角英文字母作为开头。

数据类型的指定:INTEGER、CHAR(定长字符串)、VARCHAR(可变长字符串)、DATE

约束:NOT NULL、 NULL、 PRIMARY KEY。

表的删除和更新

删除表:DROP TABLE <表名>;

添加列:ALTER TABLE  <表名>  ADD COLUMN  <列的定义>;

删除列:ALTER TABLE  <表名>  DROP COLUMN  <列名>;

插入数据:

START TRANSACTION;

INSERT INTO Shohin VALUES ('', 'T恤' ,'衣服', 1000, 500, '2009-09-20');
INSERT INTO Shohin VALUES ('', '打孔器', '办公用品', 500, 320, '2009-09-11');
INSERT INTO Shohin VALUES ('', '运动T恤', '衣服', 4000, 2800, NULL);
INSERT INTO Shohin VALUES ('', '菜刀', '厨房用具', 3000, 2800, '2009-09-20');
INSERT INTO Shohin VALUES ('', '高压锅', '厨房用具', 6800, 5000, '2009-01-15');
INSERT INTO Shohin VALUES ('', '叉子', '厨房用具', 500, NULL, '2009-09-20');
INSERT INTO Shohin VALUES ('', '擦菜板', '厨房用具', 880, 790, '2008-04-28');
INSERT INTO Shohin VALUES ('', '圆珠笔', '办公用品', 100, NULL, '2009-11-11'); COMMIT;

SQL---Chapter01 数据库和SQL的更多相关文章

  1. MS SQL Server 数据库分离-SQL语句

    前言 今天在在清理数据库,是MS SQL Server,其中用到分离数据库文件.在这过程中,出现了一个小小的问题:误将数据库日志文件删除了,然后数据就打不开了,除了脱机,其他操作都报错. 数据库分离 ...

  2. SQL SERVER 数据库实用SQL语句

    --查看指定表的外键约束 select * from sysobjects where parent_obj in( select id from sysobjects where name='表名' ...

  3. SQL Server数据库(SQL Sever语言 函数以及SQL编程)

    1.数学函数:操作一个数据,返回一个结果 --去上限: ceiling ☆select ceiling(price) from car --去下限:floor ☆select floor(price) ...

  4. SQL Server数据库(SQL Sever语言 CRUD)

    使用SQL Sever语言进行数据库的操作 常用关键字identity 自增长primary key 主键unique 唯一键not null 非空references 外键(引用) 在使用查询操作数 ...

  5. SQL Server数据库同步SQL

    select table_name,COLUMN_NAME,data_TYPE,CHARACTER_OCTET_LENGTH,CHARACTER_MAXIMUM_LENGTH from informa ...

  6. 从SQL Server数据库导出SQL语句

    不同于直接 备份/恢复 或者 导入/导出 数据库操作. 新版本SQL Server客户端中还可以生成相对应的SQL语句. 非常方便与查看和与其他人共享. 连接上数据库后, 右击数据库, 选择 Gene ...

  7. SQL Server数据库(SQL Sever语言 事务)

    事务:保障流程的完整执行保证程序某些程序在运行时同时成功同时失败,保证程序的安全性 begin tran --在流程开始的位置加 --此处写SQL语句 if @@error>0 --ERRORS ...

  8. SQL Server数据库(SQL Sever语言 存储过程及触发器)

    存储过程:就像函数一样的会保存在数据库中-->可编程性-->存储过程 创建存储过程: 保存在数据库表,可编程性,存储过程create proc jiafa --需要的参数@a int,@b ...

  9. 第一章、关于SQL Server数据库的备份和还原(sp_addumpdevice、backup、Restore)

    在sql server数据库中,备份和还原都只能在服务器上进行,备份的数据文件在服务器上,还原的数据文件也只能在服务器上,当在非服务器的机器上启动sql server客户端的时候,也可以通过该客户端来 ...

  10. SQL Server数据库的备份和还

    转:http://blog.csdn.net/zwj7612356/article/details/8188025 在sql server数据库中,备份和还原都只能在服务器上进行,备份的数据文件在服务 ...

随机推荐

  1. ionic 集锦

    一.隐藏返回按钮 场景:登录.注册成功后,阻止返回 //方法一 $ionicHistory.currentView($ionicHistory.backView()); $state.go('home ...

  2. linux 系统负载高 如何检查

    1:load Average 1.1:什么是Load?什么是Load Average?    Load 就是对计算机干活多少的度量(WikiPedia:the system Load is a mea ...

  3. React + Redux 入坑指南

    Redux 原理 1. 单一数据源 all states ==>Store 随着组件的复杂度上升(包括交互逻辑和业务逻辑),数据来源逐渐混乱,导致组件内部数据调用十分复杂,会产生数据冗余或者混用 ...

  4. Newtonsoft.Json 序列化和反序列化 时间格式

    From : http://www.cnblogs.com/litian/p/3870975.html 1.JSON序列化 string JsonStr= JsonConvert.SerializeO ...

  5. Linux——makefile

    1.vim Makefile 或 vim makefile 2. targetName:a.o b.o   #targetFileName:A.c B.c ,split with a space gc ...

  6. 在Django中进行注册用户的邮件确认

    之前利用Flask写博客时(http://hbnnlove.sinaapp.com),我对注册模块的逻辑设计很简单,就是用户填写注册表单,然后提交,数据库会更新User表中的数据,字段主要有用户名,哈 ...

  7. python 中的高级函数sorted()

    Python内置的 sorted()函数可对list进行排序: >>>sorted([36, 5, 12, 9, 21]) [5, 9, 12, 21, 36] 但 sorted() ...

  8. 如何使用.NET开发全版本支持的Outlook插件产品(三)——全面控制

    插件项目所有代码都已经上传至 https://github.com/VanPan/TestOutlookAdding 进阶基础--COM查看 首先,对于Outlook对象模型,MSDN早就有非常详细的 ...

  9. svn回滚版本

    1.本地修改了内容,但是没有commit可以通过Revert-来覆盖当前版本. 2.已经commit了.首先第一步,应该知道需要回滚的版本编号, 第二步,选择 updata to revision

  10. ios中自定义cell 设置cell的分组结构

    ios系统默认的cell并不能满足我们的需求 这个时候就需要自定义我们的cell 自定义cell为分组的时候 需要设置分组样式  以下是我常用分组的二种方法: 第一是 在自定义的UITableView ...