mysql 从头开始(1)

数据库基础
  1. 什么是数据库。
    数据库是一个以某种有组织的方式存储数据的集合,理解数据库的一种简单的办法就是将其想象成一个文件柜。,此文件柜是一个存放数据库的物理位置,无论数据是以什么形式什么以及如何组织的。保存有组织的数据的容器

  2. 表(table)
    某种特定类型数据的结构化清单。数据库中的每个表都有一个名字,用来标识自己,测名字是唯一的,这表示在一个数据库中,没有其他表具有相同的名字。在相同的数据库中不能两次使用相同的表名,但是在不同的数据库中可以使用相同的表名。模式(schema): 关于数据库和表的布局以及特性信息。

  3. 列和数据类型
    表由列组成,列中存储着表中的某部分信息。
    列(column) 表中的一个字段。所有的表都是由一个或者多个列组成的。
    数据类型(datatype) 所容许的数据的类型。每个表列都有相同的数据类型,它限制(或容许)该列中存储的数据。 数据类型限制可存储在列中的数据种类,还帮助正确的排序数据,并在优化磁盘使用方面起重要作用。

  4. 行(row)表中的一个记录。
    你可能听过有人在提到行(row)时称其为数据库记录(record)。在很大程度上,这两个术语可以互相代替的,但真正意义上,行才是正确的术语。

  5. 主键(primary key)表中的每一行都应该有可以唯一标识自己的一列或一组列,其值能够唯一区分表中的每个行。数据库中应该总是定义主键,虽然并不总是需要主键,但大多数数据库设计人员都应保证他们创建的表有主键,以便于以后的数据库操纵和管理。
    表中的任何列都可以作为主键,只要它满足以下条件:

  6. 任意两行都不具有相同的主键值。

  7. 每个行都必须有一个主键(主键列不允许NULL值)
    主键通常是定义在表的一列上,也可以一起使用多个列作为主键。在使用多个列作为主键是,上述条件必须应用构成主键的所有的列,所有列值得组合必须是唯一的。
    主键的最好习惯 除了数据库强制要求的以外应该坚持一些普遍的习惯:

    • 不更新主键中的值。
    • 不重用主键列中的值
    • 不在主键列中使用可能会更改的值
  8. sql
    SQL是结构化查询语言(Structured Query Language)的缩写,SQL是一种专门用来和数据库通信的语言。

MySQL
  1. 什么是mysql
    数据库的所有存储、检索、管理和处理实际上是由数据库软件----DBMS(数据库管理系统)完成的。MySQL是一种DBMS,即它是一种数据库管理软件。
    进入mysql:
mysql -u root -p -h myserver -P 3306

其中 -u 后是用户名
        -p后是密码
        -h后是主机地址
        -P后是端口号。mysql默认端口3306

需要注意:

 - 命令输入在mysql> 之后;
 - 命令用;或\g结束,没有结束的情况下,劲按Enter 不执行命令。
 - 输入help、\help获取帮助。(输入 help select 获得使用 select语句的帮助);
 - 输入quit或exit退出程序。 
  1. 选择数据库
mysql> use school;
Database changed

必须先用use打开数据库,才能读取数据。
2. 了解数据库和表

查看所有的数据库

mysql> show databases;
+-------------------------+
| Database                |
+-------------------------+
| information_schema      |
| mysql                   |
| performance_schema      |
| school                  |
| student_examination_sys |
| sys                     |
| test_type               |
| tw_theater              |
+-------------------------+
8 rows in set (0.01 sec)

查看所有的表

mysql> use school
Database changed
mysql> show tables;
+------------------+
| Tables_in_school |
+------------------+
| customers        |
| orderitems       |
| orders           |
| productnotes     |
| products         |
| student          |
| vendors          |
+------------------+
7 rows in set (0.00 sec)

查看所有的列

mysql> show columns from customers;
+--------------+-----------+------+-----+---------+----------------+
| Field        | Type      | Null | Key | Default | Extra          |
+--------------+-----------+------+-----+---------+----------------+
| cust_id      | int(11)   | NO   | PRI | NULL    | auto_increment |
| cust_name    | char(50)  | NO   |     | NULL    |                |
| cust_address | char(50)  | YES  |     | NULL    |                |
| cust_city    | char(50)  | YES  |     | NULL    |                |
| cust_state   | char(5)   | YES  |     | NULL    |                |
| cust_zip     | char(10)  | YES  |     | NULL    |                |
| cust_country | char(50)  | YES  |     | NULL    |                |
| cust_contact | char(50)  | YES  |     | NULL    |                |
| cust_email   | char(255) | YES  |     | NULL    |                |
+--------------+-----------+------+-----+---------+----------------+
9 rows in set (0.02 sec)

DESCRIBE table_name 是 select COLUMNS from table_name 的一种快捷方式。
自动增量(auto_increment)
某些表列需要唯一值,在每个行添加数据到表中时,MySQL可以自动的为每一个行分配下一个可用编号,不用在添加一行时手动分配唯一值(这个值必须记住)。这个功能就是所谓的自动增量。
支持的其他show语句:

 - show status;显示服务器状态。
 - show create database和show create table;显示建表和建库语句
 - show GRANTS;显示授予用户的安全权限。
 - show error 和 show warnings;用来显示错误和告警信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值