Android SQL中可以存储的数据类型_sql换行符怎么输入


1-1 数据库是什么

一、我们身边的数据库

1、DB(Database):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合称为数据库。

2、用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。

二、为什么DBMS这么重要

DBMS能够实现多个用户可以同时安全简单的操作大量数据。

三、DBMS种类

1、层次数据库(Hierarchical Database,HDB)

2、关系数据库(Relational Database,RDB)

RDB采用由行和列组成的二维表来管理数据,同时还使用专门的SQL(Structured Query Language,结构化查询语言)对数据进行操作。

RDBMS:①Oracle Datebase ②SQL Server ③DB2 ④PostgerSQL(开源)⑤MySQL(开源)

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

4、XML数据库(XML Database,XMLDB)

5、键值存储系统(Key-Value Store,KVS)

1-2 数据库的结构

一、RDBMS的常见系统结构

最常见的系统结构是客户端/服务器类型(C/S类型)。


Android SQL中可以存储的数据类型_sql换行符怎么输入_02


二、表的结构

1、用来管理数据库的二维表在关系数据库中简称表。

2、一个数据库中可以存储多个表。


Android SQL中可以存储的数据类型_sql 语句 存储 date_03


根据 SQL 语句的内容返回的数据同样必须是二维表的形式

3、表的列(垂直方向)称为字段,它代表了保存在表中的数据项目。

表的行(水平方向)称为记录,它相当于一条数据。关系数据库必须以行为单位进行数据读写

行和列交汇的方格称为单元格。 一个单元格中只能输入一个数据。

1-3 SQL概要

一、标准SQL

学会标准SQL就可以在各种RDBMS中书写SQL语句了。

二、SQL语句及其种类

1、DDL

DDL(Data Definition Language,数据定义语言)用来创建或者删除存储数据用的数据库以及数据库中的表等对象。

CREATER:创建数据库和表等对象;DROP:删除数据库和表等对象;

ALTER:修改数据库和表等对象的结构。

2、DML

DML(Data Manipulation Language,数据操纵语言)用来查询或者变更表中的记录。

SELECT:查询表中的数据;INSERT:向表中插入新数据;UPDATE:更新表中的数据;

DELETE:删除表中的数据。

3、DCL

DCL(Data Control Language,数据控制语言)用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。

COMMIT:确认对数据库中的数据进行的变更;ROLLBACK:取消对数据库中的数据进行的变更; GRANT:赋予用户操作权限; REVOKE:取消用户的操作权限。

三、SQL的基本书写规则

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

2、SQL不区分关键字的大小写;插入到表中的数据是区分大小写的。

3、字符串和日期常数需要使用单引号(')括起来。如:'abc'、'2019-02-17'

数字常数无需加注单引号(直接书写数字即可)。如:1000

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

1-4 表的创建

一、数据库的创建(CREATE DATABASE 语句)

书本中的PostgerSQL是利用语句来创建的,SQLServer2012中直接右击数据库---新建数据库shop。

二、表的创建(CREATE TABLE语句)

书本中的PostgerSQL是利用语句来创建的,SQLServer2012中直接点击数据库shop,然后右键点击表--新建表即可。

三、命名规则

1、数据库名称、表名和列名等可以使用以下三种字符。

● 半角英文字母  ● 半角数字  ● 下划线(_)

2、名称必须以半角英文字母开头。

3、名称不能重复。在同一个数据库中不能创建两个相同名称的表,在同一个表中也不能创建两个名称相同的列。

四、数据类型的指定

所有的列都必须指定数据类型,数据类型包括数字型、字符型和日期型等。

1、INTEGER型

用来指定存储整数的列的数据类型(数字型),不能存储小数。

2、CHAR型(定长字符串的形式存储)

CHAR 是 CHARACTER(字符)的缩写,是用来指定存储字符串的列的数据类型(字符型)。

CHAR(20)说明字符串的长度为20,如果输入的内容是'abc',后面空的内容用半角的空格填充。

3、VARCHAR型(可变长字符串的形式存储)

VARCHAR(8),如果输入的内容是'abc',存储的就是这个内容,后面不会用空格填充。

4、DATE型

用来指定存储日期(年月日)的列的数据类型(日期型)。

五、约束的设置

约束是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能。

如:NULL/NOT NULL。

PRIMARY KEY 主键,此列的内容可以唯一的识别该列。

创建Product表


Android SQL中可以存储的数据类型_sql 语句 存储 date_04

Product表

1-5 表的删除和更新

一、表的删除(DROP TABLE语句)

删除了的表是无法恢复的。在执行DROP TABLE语句之前请务必仔细确认。

SQLServer2012中直接右击--删除即可。

二、表定义的更新(ALTER TABLE语句)

SQL Server添加列:

alter table Product add Product_name_pinyin Varchar(1000);

SQL Server删除列:

alter table Product drop column Product_name_pinyin;

SQL Server中添加列不用写column,删除的时候需要加column。

表定义变更之后无法恢复。在执行ALTER TABLE语句之前请务必考虑清楚。

三、向Produt表中插入数据

begin transaction

insert into Product values('0001','T恤衫','衣服',1000,500,'2009-09-20');

insert into Product values('0002','打孔器','办公用品',500,320,'2009-09-11');

insert into Product values('0003','运动T恤','衣服',4000,2800,'');

insert into Product values('0004','菜刀','厨房用具',3000,2800,'2009-09-20');

insert into Product values('0005','高压锅','厨房用具',6800,5000,'2009-01-15');

insert into Product values('0006','T叉子','厨房用具',500,NULL,'2009-09-20');

insert into Product values('0007','擦菜板','厨房用具',880,790,'2008-04-28');

insert into Product values('0008','圆珠笔','办公用品',100,NULL,'2009-11-11');

commit;

开头的 BEGIN TRANSACTION 语句是开始插入行的指令语句,结尾的 COMMIT 语句是确定插入行的指令语句。

上面语句中的begin transaction/commit,在SQLServer中可以不用。

Productid='0003'的那条记录,日期是null,第一遍写语句的时候直接''代替,查询的时候会发现,regist_date=1900-01-01即excel表中默认的日期。此时可以用Update语句进行更新一下:update product

set regist_date=NULL

where Product_id='0003';

如果插入一行数据:insert Product values('0009','笔记本','办公用品',20,10,'2009-12-20');

此时不需要了,可以用delete语句进行删除:

delete from product

where Product_id='0009';

四、更改数据库中的表名

sp_rename 'product','products';