Mysql的简单学习摘要

jopen 9年前

数据库概述:

层次模型:树状关系

网状模型:网状关系

关系模型:表格关系


CRUD:

C:Create

R:Retrieve

U:Update

D:Delete


数据库语言分类:

DQL:数据查询语言——R

DML:数据操作语言——CUD


关于数据库的操作:

|——创建数据库: create database 数据库名;

|——查看所有数据库: show databases;

|——使用某个数据库: use 数据库名;

|——删除数据库: drop database 数据库名;

|——查看数据库编码:show variables like 'character%';


关于表的操作:

|——查看当前数据库的所有表:show tables;

|——创建一个表:create table 表名(字段名1 字段类型,字段名2 字段类型,...,字段名n 字段类型);

|——查看表的创建语句:show create table 表名;

|——查看表结构:desc/describe 表名;

|——删除这个表:drop table 表名;

|——修改表名:rename table 原表名 to 新表名;

|——修改表字符集:alter table 表名 character set 字符集;

|——对表中的列进行修改:alter table 表名 ————————————————

                                添加一列:|——add 字段名 字段类型; 

                              修改某列的数据类型:|——modify 须修改的字段名 修改后的数据类型;

                                删除某列:|——drop 字段名;

                             修改列名和类型:|——change 原字段名 新字段名 新字段的数据类型;



对于数据的操作:

|——C:增加一条数据: insert into 表名[(字段名1,字段名2,...,字段名n)] values(数据1,数据2,数据3,...,数据n);

|    ##注意:当sql中不写表名后面的字段名列表时,values中的值是根据table中的默认顺序添加的。

|——D:删除一条数据: delete from 表名 where 条件;

|##删除表内容的两种方式: delete from 表名;(一条条删除) truncate table 表名;(删除整个表,再建新表)

|

|——U:更新一条数据: update 表名 set 字段名=值,字段名=值 where 条件;

|

|

|——R:查询一条数据: select 列名(*代表所有列) from 表名 [where 条件] [order by][group by];

|##查询模糊数据时,一般使用where 字段名 like '_X%';其中_代表一个任意字符,%代表多个任意字符

|##查询区间时,可以使用between, between A and B, 即[A,B]

|##在一个数字集合中查询时,可以使用in(A,B,C);





一些数据库的基本概念;

————数据完整性

我们要保证三种数据完整性:

元素完整性

域完整性

参照完整性

那么什么是数据完整性呢?实际上就是通过一些约束来保证数据的正常使用,叫做数据完整性。


那么如何保证元素的完整性呢?使用主键约束

那么如何保证域完整性的?使用特定的数据类型和约束,比如NOT NULL 和 unique

那么如何保证参照完整性的?使用外键约束,保证这个表的外键与另一个表的主键相连



如何创建主键:

在创建表的时候使用: 字段 字段的数据类型 primary key;

使用alter 对列的属性进行修改时将主键添加上去


如何创建外键:

alter table 表名 add constraint FK_表名_外键名 foreign key(外键名) references 表名(字段名);

            |                                                                  |                     |

        约束                约束名规范               参照                  对应主键



一些数据库的基本概念

————数据库三大范式

范式的目的是什么?是避免数据冗余

我们在开发过程中往往要遵循数据库的三大范式。

但是有时候为了提高查询速度,在设计数据库时也会有反三范式的情况出现。


1.NF:确保表中的每列不可再分。

2.NF:确保每一行的数据都是唯一的。

3.NF:符合amstrong推理原则。