菜鸟学习mysql(一)

学习mysql之前,有必要先简单提一下数据库

数据库基础

1.数据库是什么?

是一种高效的存储和处理数据的介质。(主要有两种:磁盘和内存)

2.数据库分类

基于存储介质不同,分为关系型数据库(SQL),非关系型数据库(NoSQL:Not Only SQL),也可以说不是关系型的数据库都叫做非关系型数据库。

接下来分别说一下关系型数据库和非关系型数据。

关系型数据库:安全(数据保存在磁盘中基本不可能丢失) ,容易理解。但缺点是比较浪费空间。   

                       大型:Oracle,DB2     中型:SQL-SERVER ,Mysql     小型:access

非关系型数据库:效率高(运行在内存中),但也有缺点,那就是不安全,断电容易丢失。

3.关系型数据库

(1)定义:关系型数据库是一种建立在关系模型上的数据库。

        关系模型:一种所谓建立在关系上的模型,关系模型包含3个方面:数据结构(数据存储的问题),操作指令集合(SQL语句),完整型约束(表内数据约束,表与表之间约束)。

(2)关系型数据库的设计

    从需要存储的数据需求中分析,如果是一类数据(实体),应该设计成一张二维表。表由表头,字段名和数据部分组成。

画重点~~~

关系型数据库:维护实体内部,实体与实体之间的关系;关系型数据库特点之一,如果表中对应的某个字段没有值,单系统依然要给分配空间。所以,关系型数据库比较浪费空间。

(3)关键字

数据库(database)

数据库管理系统(Database Management System):专门管理数据库。

数据库系统(Database System):是一种虚拟系统,将多种内容关联起来。

行/记录(row/record)     列/字段(column/field)

4.SQL

SQL:Structured Query Language  结构化查询语言(数据以查询为主)

SQL分为3部分:

DDL(Data Definition Language)数据定义语言:用来维护存储数据的结构

DML(Data Manipulation Language)数据操作语言:用来对数据进行操作

DCL(Data Control Language)数据控制语言 :主要是负责权限管理

5.接下来到主角了,Mysql数据库登场了。。。

定义:Mysql是一种c/s(客户/服务端)结构的软件,若想访问服务器必须通过客户端(服务端一直运行,客户端在需要使用时运行)

交互方式:(1)客户端连接认证:连接服务器,认证身份。

(2)发送SQL指令

(3)服务器接受SQL指令:处理SQL指令,返回操作结果。

(4)客户端接受结果,显示结果。

(5)断开连接(释放资源,服务器并发限制)

6.SQL基本操作:

根据操作对象分类:库操作,表操作,数据操作

库操作(对数据库的增删改查)

新增数据库:create database 数据库名字【库选项】;

                   库选项:用来约束数据库,分两个选项。字符集设定:charset/character set   ;校对集设定:collate 具体校对集。

例:create database  mydatabase charset utf8;    -- 创建一个名为mydatabase的数据库

创建关键字数据库

例:create database database charset utf8;   

执行上面的语句后,SQL会报错,注意SQL报错只会告诉报错的大概位置,不会说明报错原因(静默模式)。如果非要使用关键字后保留字,必须使用反引号,如:create database `database`  charset utf8;

    ~~创建数据库的SQL语句执行之后,发生了什么?一方面,在数据库系统中,增加了对应的数据库信息,另一方面,会在保存数据的文件夹下面,创建一个对应数据库名字的数据库。

查看数据库:

 查看所有数据库:show databases;

查看指定数据库:show databases like 'pattern';      -- pattern 匹配模式,包括%(表示匹配多个字符串))和_(表示匹配单个字符串)

查看数据库的创建语句:show create database 数据库名字;

更新数据库:

数据库的名字不可以修改,数据库的修改限库选项,字符集和校对集。

例:alter database mydatabase charset GBK;    -- 修改数据库字符集

删除数据库:

drop database 数据库名字;

例:drop database mydatabase;

新增数据表:create table if not exists 表名(

                   字段名字   数据类型;

                   字段名字   数据类型;

                    字段名字  数据类型

                  )

例:创建一个表    create table if not exists student(

                            name  varchar(10),

                            gender varchar(10),

                            number varchar(10),

                            age int

                          )charset utf8;  

注意:任何一个表的设计都必须指定数据库。

 查看数据表:

   查看所有表:show tables;

   查看部分表:show tables like 'pattern';

   修改数据表:

  修改表名:rename 老表名 to 新表名;

  修改表选项:字符集,校对集和存储引擎   alter table 表名 表选项  值;

  例:alter table mystudent charset = gbk;







猜你喜欢

转载自blog.csdn.net/coolcooljob/article/details/79733055