深入浅出数据库——数据和表1

1.数据和表

 保存所有东西的地方

定义数据

你要记录事物,人以及各种重要性,以前你会写很多本子或者便签....

开动脑筋:有更好的办法组织信息吗?、

有!我们需要数据库。在创建数据库前,我们需要了解存储数据的类型,以及如何把数据分类。

多张便签和上面的内容有什么不同?和相同之处!

比如客户信息,张三和李四有First Name、Last Name、Birthday、profession、status、Location等等。

我们把这些信息放在一行里,就形成了表table,表中有列colume和行row,表这个概念跟我们熟悉的另一个软件很像——Excel。

什么是数据库?

数据库是保存表和其他相关SQL结构的容器。

查看快递,下单外卖,线上购物,预定机票,网上购电影票,你实际都在一个数据库中查找信息,这就是在进行查询(query)行为。

数据库想象成保存信息的容器,里面还有若干张表。数据库由表构成。是数据库中包含数据的结构,由列和行组成。刚才张三和李四的First Name、Last Name、Birthday等就是表中的一列。表的行就是张三或李四的具体信息,First Name张,Last Name三,Birthday2030年1月1日。

FristNameLastNameBirthdayProfessionstatusLocation
张 2030年1月1日律师中级北京
2031年12月10日工程师高级上海

数据库中所有的表应该能以某种方式相互关联。

列示存储在表中的一块数据。通常也叫做字段(field)

行是一组能够描述某个事物的列的集合。列和行构成了表。通常也叫做记录(record)

举个例子,这有一张通讯录表:

first_namelast_nameaddresscitystateid_num
JoeEppsXXXXXXXXXXXX
AIJonesXXXXXXXXXXXX
MaryMorrisXXXXXXXXXXXX
LouGreenXXXXXXXXXXXX

请思考下:图书馆有书本、借书人,它们都有哪些属性?

  • books:title,author,cost,scan_code...
  • library_patron:first_name,last_name,address...

接受命令

启动数据库,默认你已经安装完毕MySQL(为什么用它不用其它的DBMS,因为MySQL开源)。

mysql -h 127.0.0.1 -u<用户名> -p<密码>

第一步,创建用来装表格的数据库。

CREATE DATABASE gregs_list;

1.创建一个名叫gregs_list数据库名,创建命令大写CREATE DATABASE,命令必须以分号结尾。但大写不是必须的,SQL不区分大小写,这样写的好处方便阅读。

第二行表示语句响应信息,知道查询成功执行了。

注意:给数据库命名需要符合一定规则,使用几个单词连接也不能有空格,可以使用下划线,例如gregs_list,GregsList,gregslist都是可以的。

2.现在要告诉RDBMS需要使用刚刚创建的数据库。

USE gregs_list;

 

 这样下面所作的每件事都是在gregs_list数据库中。

设定表:CREATE TABLE语句

我们利用患者的数据,看看如何运作,创建一个患者表及其类型,通过命令提示符SQL让RDBMS执行此命令。

姓名namesex性别age年龄
张三31
李四25

CREATE TABLE patient——list

patient_name VARCHAR(10),

patient_sex VARCHAR(6),

patient_age VARCHAR(4)

);

括号中建立列,最后一行的分号告诉RDBMS命令结束了。VARCHAR是可变动字符的意思,这就是数据类型,属性中的数据是需要指定类型的。我们可以尝试创建更复杂的表格,使用CREATE TABLE命令,或者把患者信息填充的更加完善,生日,职业,出生地,居住地,血型,身份证号码等等。

设计SQL很简单

刚才已经了解如何创建列,事物的属性,接下来需要确定每列的正确数据类型与长度。了解这两点后,写SQL将更加简单。

CREATE TABLE my_contacts                        --创建名为my_contacts的表

{

        last_name VARCHAR(30),                     --加入名为last_name的列,最多存30个字符

        first_name VARCHAR(20),                     --加入名为first_name的列,最多存20个字符

        email VARCHAR(50),                             --加入名为email的列,最多存50个字符

        birthday DATE,                                       --加入名为birthday的列,存储日期数据

        profession VARCHAR(50),                     --加入名为profession的列,最多存50个字符

        location VARCHAR(50),                       --加入名为location的列,最多存50个字符

        status VARCHAR(20),                            --加入名为status的列,最多存50个字符

        interests VARCHAR(100),                      --加入名为interests的列,最多存100个字符

        seeking VARCHAR(100)                        --加入名为seeking的列,最多存100个字符       

};

在MySQL中属于以上语句就完成了一张my_contacts表的创建

mysql> CREATE TABLE my_contacts
    -> (
    -> last_name VARCHAR(30),
    -> first_name VARCHAR(20),
    -> email VARCHAR(50),
    -> birthday DATE,
    -> profession VARCHAR(50),
    -> location VARCHAR(50),
    -> status VARCHAR(20),
    -> interests VARCHAR(100),
    -> seeking VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.22 sec)

感谢作者Lynn Beighley

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值