深入浅出SQL笔记1–数据和表

1.数据库的概念及组成

数据库是保存表和其他相关SQL结构的容器。 
数据库是由各种各样的表构成的,一个数据库里面的表总是存在相互联系的关系。 
数据库内的信息组成了表,表示由行和列构成的,行是一组能够描述某个事物的里列的集合,构成一个对象的属性,列是存储在表中的一块数据。 
需要注意的是列也叫做:字段, 行也叫属性。

2.创建一个表的步骤:

1.在创建表前先把数据分类,尤其要注意每列的数据类型。 
2.使用CREATE DATABASE语句来创建存储所有表的数据库。 
创建一个名为gregs_list的数据库,注意后面结尾处的分号。

3.使用USE 数据库 语句进入数据库,然后创建表。

4.所有表都以CREATE TABLE 语句构建,语句中包含列名及其数据类型。

5.一些常用数据类型有CHAR, VARCHAR, BLOG, INT, DEC, DATE, DATETIME, 每种数据类型的存储规则都不一样 
CHAR(size) : 保存固定长度的字符,在括号中制定字符串长度,最多255个字符。 
VARCHAR(size) : 保存可变长度的字符串,在括号里面指定字符串的最大长度,最多255,如果值得长度大于255,就会被转为TEXT类型。 
BLOG : 存放大量文本数据库。 
INT : 数字应该为整数,包括整数和负数。 
DEC(num1, num2) :保存浮点数,第一个num1表示总位数,第二个num2表示小数点后的位数。 
DATE : 日期,格式为:YYYY-MM-DD 
DATETIME : 日期和时间的组合:YYYY-MM-DD HH:MM:SS .

3.删除和显示数据库

1.删除一个数据库或者数据库中的表 
语法:DROP DATABASE 数据库名 
DROP TABLE 表名 
2.检查,显示之前创建的表:

4.插入数据

数据库和表都已经创建了,剩下的就是往表中添加数据了,添加数据用INSERT关键字。 
语法: 
INSERT INTO your_table(column_name1, column_name2,……) 
VALUES(‘value1’, ‘value2’, ……) 
注意: 
1.第二组括号里面的值必须和列名的顺序相同。 
2.只用INT和DEC类型不需要加引号。 
插入的三种写法: 
1.我们可以改变列的顺序,只要记得数据指的顺序也要一起调整。

2.列表名可以省略,但数据必须全部填入,而且必须和当初创建表时的顺序完全相同。

3.省略部分列,也即可以之填入一部分列值就好了

关于NULL

null 表示未定义的,就是说还没有填入任何信息,不知道是为空的还是有什么数字,该处正等待输入数据呢。null是不同与空值的,空值也表示已经赋值过来,但是null表示还没有进行任何的赋值行为。 
因为是未赋值的,所以也是不可以进行对比的。 
我们在列中加入NOT NULL 就可以限定该列不能不定义。 
若列有默认值,我们可以使用DEFAULT进行设置初始默认值,若没有进行赋值,就用默认值。 
CREATE TABLE doughnut_list 

doughnut_cost DEC(3,2) NOT NULL DEFAULT 1.00 
)

时间: 2024-08-28 18:28:13

深入浅出SQL笔记1–数据和表的相关文章

Sql笔记-查询数据仅出现过一次、小数据位不为零、删除表及序列、ifnull函数

查询数据表中每条相同的数据仅出现一次 select  distinct(ORDER_NO ) from ibsp_record_fee 查询数据表中数据中小数位不为0 select * from ibsp_pay_record pr where  pr.amount<>round(pr.amount,0) 或者 select * from ibsp_pay_record pr where  pr.amount!= cast(pr.amount as decimal(13,0)) 删除表及id序

EXCEL 2010学习笔记 —— 数据透视表

今天整理一下EXCEL2010 数据透视表的课程笔记,数据透视表可以对多组数据进行统计和整理,是一种基本的数据可视化工具. 记录6个方面的总结: 1.创建数据透视表 2.更改数据透视表的汇总方式 3.更改数据透视表的组合 4.汇总多列数据,进行数据的分别统计 5.在透视表中利用公式进行计算 6.利用筛选字段创建多个工作表 1.创建数据透视表 从基本的操作层面来说:在获得了数据源之后,可以通过简单的插入功能和拖动命令生成一份数据透视表.创建一个新表格的时候,首先要确定最后的表格的行,列分别记录什么

SQL笔记-第二章,数据表的创建和管理

数据类型 分5类:整数.数值.字符相关.日期时间以及二进制 1.整数 数据库系统 类型 说明 MYSQL tinyint [unsigned] 一个很小的整数.有符号的范围是-128 到127,无符号的范围是0 到255. smallint [unsigned] 一个小整数.有符号的范围是-32768到32767,无符号的范围是0 到65535. mediumint [unsigned] 一个中等大小整数.有符号的范围是-8388608到8388607,无符号的范围是0到16777215. in

sqlite学习笔记6:更新表数据

一 条件判断 在SQL中条件判断使用where,相当于其他变成语言中的if,基本用法如: SELECT column1, column2, columnN FROM table_name WHERE [condition] 另外,SQL支持数学运算,逻辑运算,位于运算等等,均可放在WHERE子句中. 二 更新表 基本语法如下: UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE

Sql语句批量更新数据(多表关联)

最近在项目中遇到一个问题,原来设计的功能是不需要一个特定的字段值depid的,但是新的功能需要根据depid来展现,于是出现了这样一个问题,新增加的数据都有正确的depid,而原来的大量的数据就没有depid或者说depid不是想要的,面临要批量更新原来数据depid的问题. 更新涉及到三个表base_cooperativeGroup,base_groupuser,base_user. 列出表结构: 1.base_cooperativeGroup 2.base_groupuser 3.base_

在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题

原文:在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\KK.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 问题: 消息 15281,级别 16,状态 1,第 1 行 SQL Server 阻止了对组件 'Ad Hoc Di

SQL笔记---多表左联

这是实际场景当中的一个例子,拿出来分析总结思路. -- SQL 查询 --SELECT  orderQuery.Rk_SkuCode ,        orderQuery.SkuName,        SUM(ISNULL(orderQuery.OrderTotal, 0))        - SUM(ISNULL(removeQuery.RemoveTotal, 0))        - SUM(ISNULL(pickQuery.PickTotal, 0))        - SUM(IS

使用SQL语句清空数据库所有表的数据

近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进行清空.使用的数据库为MS SQL SERVER.1.搜索出所有表名,构造为一条SQL语句 declare @trun_name varchar(8000)set @trun_name='' select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from syso

oracle 、sql server 、mysql 复制表数据

我们知道在oracle 中复制表数据的方式是使用 create table table_name as select * from table_name 而在sql server  中是不能这么使用的 语句如下: select * into table_name from table_name; 而在 mysql 中有两种方式 1. create table a like b 2. 类似oracle的方式 create table table_name as select * from tabl