数据和表

来源:互联网 发布:synthesia piano mac 编辑:程序博客网 时间:2024/06/16 12:57

本文仅用来在学习《深入浅出SQL》时,做笔记用,所以内容如有雷同,不要怀疑,我就是在上面抄下来的 尴尬

  • 创建数据库

CREATE DATABASE xxxx;
//CREATE DATABASE是创建数据库的命令

//xxxx是你的数据库的名字,最好用小写和命令区分开来,数据库名字之间是不能有空格的,如果你喜欢,你可以用下划线“_”

//命令的结尾一定是以“;”结束的


  • 创建表格

CREATE TABLE xxxx(列的名称 数据类型,... ...);

从上到下解释一下:

//CREATE TABLE是创建表的命令。 

//开括号表示紧接着下面的内容就是要创建的表的列的相关信息了

//举个栗子:name VARCHAR(10),这个栗子的意思就是,创建一个列名为“name”的列,它是“VARCHAR”这个数据类型(这个 类型是可变动字符,用以保存文本格式的信息),并且,它最多只能有10个字符

 //以省略号表示接下来的其他的列的名称

 //以另一半括号结束这个列表的创建,但是记得要以分号结尾


  • 数据类型

DATE,用来记录日期,例如:03/02/2017

DEC,提供数值空间,例如:DEC(6,2),浮点数格式,前者代表总位数,后者代表小数点后的位数

TIME/DATETIME,记录日期和时间,例如:11:04am 03/02/2017

BLOB,大文本数据可以用它,只要超过255个字符,都可以用

INT,用来存整数,也可以用来处理负数

CHAR,存储的数据必须事先设定长度

VARCHAR,存储文本数据,最大长度是255个字符


  • 另外一些命令的用法

  1. 如果想要检查自己之前创建的表,可以使用DESC命令,例如:DESC xxxx;
  2. 如果想要删除之前创建的表,可是使用DROP TABLE命令,例如:DROP TABLE xxxx;不过注意,要谨慎使用这个命令,一旦使用了这个命令,表和表里面的数据都会被删除掉
  3. 使用INSERT语句,可以把数据添加到表里:
INSERT INTO 表名(列名1,列名2,...)VALUES('value1','value2',...);
解释一下,表名依旧是需要小写,不允许有空格,列名1,列名2要与所创建的那个表里面的名字一样,VALUES代表的是各列对应的值,'value1'这里用了单引号'',是可以的,在输入文本类型(VARCHAR,CHAR,BLOB)的数据时,一定要加上这个单引号,其他的数据可以不加,注意注意注意:数据值的顺序必须和列名的顺序是一模一样一一对应的。

  • INSERT语句是有三种语句形式的:
  • 实际上它可以改变列的顺序,但是切记,在改变列的顺序的时候,值的位置也要去改变
  • 省略列名,列名可以省略,但是注意,如果省略了列名的话,所有的值都要一一对应且全部填进去
  • 可以省略部分的列

  • 以SELECT语句查看表

SELECT * FROM xxxx;

举个例子:SELECT * FROM my_list;这句话的意思是,从my_list这张表内查看所有的数据,*代表所有的意思



  • NULL

在表中,有些列是一定要数据值的,比如姓氏等,如果没有值就没有意义了,所以,对于这种一定要有数据值的列,我们在最初设置的时候,要把列设置为不接收NULL

CREATE TABLE my_list{last_name VARCHAR(10) NOT NULL,... ...}
NOT NULL的意思就是,不允许这个值为NULL

  • DEFAULT
如果某个列,有某个特定的值,我们就可以把它指定为DEFAULT默认值
CREATE TABLE my_list{hotdog_cost DEC(3,2) NOT NULL DEFAULT 1.00,... ...}
hotdog_cost DEC(3,2) NOT NULL DEFAULT 1.00,那么这句话的意思就是,hotdog_cost的值,是一个三位数,小数点后有两位,那么如果没有填入的值的话,这里就会默认给出1.00的值



  • 复习要点

如果想要查看表的结构,可以使用DESC语句

DRAP TABLE语句可用于丢弃表

为表插入数据时,可以用任何一种INSERT语句

NULL是未定义的值,它既不等于0,也不等于一个空值,值可以是NULL,但是绝非等于NULL

没有在INSERT语句中被赋值的列默认为NULL

可以把列修改为不接收NULL,这要用到关键字 NOT NULL

创建表的时候用DEFAULT,可用于日后缺乏输入值时默认提供数据

0 0