- 理解RDBMS
每个数据库由一个或多个表组成,这些表在行和列中构造数据,是数据变得有组织。
一个表把数据划分为行,每行中的数据进一步分解为单元(或字段),每个单元包含数据的一个特定属性值。
表中的各行并没有以任何特定的顺序排列,它们可以按字母顺序,id,成员名或者我们选择指定的其他标准进行排序。因此,在表中识别一个特定记录的方法就变得很有必要了。对每行记录的唯一数字值被称为表的主键。
一个关系数据库是由多个包含相互关联信息的表组成的。SQL允许我们以各种方式从这些表中合并数据,因此允许我们创建和分析在数据中的新关系。
通过建立一个或者更多的关系,使得提取数据的一个子集(一个数据片段)来回答指定的问题成为可能。 - 创建数据库
因为所有的表都存储在数据库中,所以我们需要知道的第一个命令是:
创建数据库: create database database_name;
使用 show databases 可以查看所有可用数据库;
一旦获得了数据库列表,使用 use 命令就可以选择想要使用的数据库 use命令用法如下:
use database_name;
选择数据库后,可以使用show命令查看它里面的所有表用法如下:
show tables; - 添加表
命令如下:
create table table_name;
表的名字中不能包含空格,斜线和句号,除此之外,任何字符都是允许的。
每个字段后面紧跟一个“类型”,这样确定了这个字段所允许输入的数据的类型,并且可以用一个长度值标识这个字段的最大长度。
---------------------------------------------------------------------------------------------------——
| mysql中常用的数据类型: |
| int:整型类型。 |
| decimal:支持浮点或小数的一个数值类型。 |
| double:支持双精度浮点数的一个数值类型。 |
| date:yyyy-mm-dd格式的一个日期字段。 |
| time:hh:mm:ss格式的一个日期字段。 |
| datetime:yyyy-mm-dd hh:mm:ss格式的一个混合日期/时间类型。 |
| year:以yyyy或yy格式专门用与显示年份在1901到2155之间的一个字段。 |
| timestamp:yyyymmddhhmmss格式的一个时间戳类型。 |
| char:最大长度不超过255个字符的定字符串类型。 |
| varchar:最大长度不超过255个字符的变长字符串类型。 |
| text:最大长度为65535个字符串类型。 |
| blob:可变数据的二进制类型。 |
| enum:字符串类型,从一个预先定义的可能值列表中选取一个值。 |
| set:字符串类型,从一个预先定义的可能值集合中选取0或更多个值。 |
------------------------------------------------------------------------------------------------——
可以在表上加入额外约束,增加表中数据的一致性:
1. 定义每个字段后,可以通过放置 null 和 not null 修饰符,指定是否允许字段为空。
2. 可以使用 primary key 修饰符为表指定一个主键。
3. 可以使用 unique 修饰符指定输入字段必须是唯一的。
4. 只适用于数字字段的 auto_increment 修饰符声明 MySQL 将要为这个字段自动生成一个数字(通过对前面的值增加),即自增长。
如果在创建表的过程中犯了错误,则可以用 alter table 命令来修改表的定义,使用方法如下:
alter table table add new_field_name new_field_type
如果只想修改某个存在的列,则可使用下面的命令:
alter table table_name modify old_field_name new_field_type modifiers;
删除表,使用方法如下:
drop table table_name; - 添加记录
一旦创建了表,就可以开始把数据输入表中了。完成输入的sql命令是 insert 命令,使用方法如下:
insert into table_name (field_name_1,field_name_2) values(value-1,value-2); - 删除和修改记录
如插入记录一样,也可以使用 delete 命令删除记录,如下所示:
delete from table_name;
可以给 delete 语句添加 where 子句来选择要删除的特定行子集。
update 命令可以帮助我们改变表中已存在的值,如下所示:
update table_name set field_name = new_value;
这个命令将作用与字段 field_name 中所有的值,把它们全改变为 new_value 值。如果只希望修改单个字段中的值,可以像使用 delete 那样使用 where 子句。
- 执行查询
一旦数据存在于数据库中,就可以处理它了。通过使用许多 select 语句,MySQL 允许我们从数据库中提取特定的数据片段。
select的简单使用方法:
select * from table_name;
有关select的部分内容在后面会提到。
MySQL学习之SQL
最新推荐文章于 2024-07-24 08:55:56 发布