MySql笔记整理(一)MySql入门-01

        终于想起来了,整理一下,MySql的笔记吧,之前都写到记事本里了,今天给它整到博客上来吧。

什么是数据库?数据库分类?什么是SQL?

        什么是数据库?
                数据库:database。数据存储的仓库。
                专业定义:高效的存储和处理数据的介质(包括磁盘和内存)。
        数据库分类?
                按存储介质不同:关系型数据库(sql数据库)、非关系型数据库(nosql数据库)
        什么是SQL?
        SQL:Structured Query Language
                SQL分为三个部分
                        DDL:Data Definition Language,数据定义语言,用来维护存储数据的机构(数据库、
                表),代表指令:create,drop,alter等
                        DML:Data Manipilation Language 数据库操作语言,用来对数据进行操作(数据表中的内
                容),代表指令:insert,update,delete,其中DML中有在内部单独进行了一个分类:
                DQL(Data Query Language:数据库查询语言,如select)
                        DCL:Data Control Language,数据库控制语言,主要负责权限管理(用户),代表指
                令:grant,revoke等
                SQL是关系型数据库的操作指令。SQL是一种约束,但并不强制,因此不同的数据库产品可以发
        展自己的特色。他们内部会有一些细微的差别。

MySql数据库

        Mysql数据库是一种C/S架构的软件:客户端/服务端,若想访问服务器必须通过客户端。
        交互方式:
                1.客户端连接认证:连接服务器,认证身份:mysql.exe -hpup
                2.发送SQL指令
                3.服务器接收SQL指令:处理SQL指令:返回操作结果
                4.客户端接收结果
                5.断开连接释放资源。

Mysql服务器对象

        我们无法完全了解服务器内部的内容,因此只能粗略的分析数据库库服务器内部的结构。将Mysql服务器内部对象分为四层:系统(DBMS)->数据库(DB)->数据表(Table)->字段(field)。
        SQL基本操作:CRUD
        将SQL的基本操作根据数据操作对象进行分类:库操作、表操作、数据操作

库操作

        新建数据库:
        基本语法:Creat database 数据库名字 [库选项]
        库选项:用来约束数据库,分为两个选项
                字符集设定: charset/charcater set 字符集 (数据存储的编码格式):常用字符集GBK、UTF-8
                校对集设定:coolate具体校对集。校对集依赖字符集
        数据库名字不能使用关键字和保留字,如果非要使用关键字或保留字,则必须使用反引号(英文键盘输入esc键下边的键)
        当创建数据库的SQL语句执行之后发生了什么?
                1.在数据库系统中增加了对应数据库信息。
                2.会在保存数据的文件夹下:Data目录,创建一个对应数据库名字的文件夹。
                3.每个数据库下都有一个opt文件:保存了库选项。
        查看数据库:
        1.查看所有数据库:show databases;
        2.查看指定部分数据库:show databases like ‘pattern’ --pattern是匹配模式
                '%”表示匹配多个字符
                "_"表示匹配多个字符
        3.查看数据库的创建语句:show create mydatabase;
        更新数据库:
        数据库名字不可以修改。
        数据库的修改仅限库选项:字符集和校对集。
        基本语法:Alter database 数据库名字 [库选项]
                Charset/charset/charcater[=] 字符集和校对集。
                Collate 校对集
        如:alert database mydb charset GBK
        删除数据库:
        所有操作中:删除时最简单的
        基本语法:drop database 数据库名字

表操作

        表和字段是密不可分的。
        新增数据表:
        基本语法:create table [if not exists] 数据库名 表名(字段名字 数据类型) [表选项]
        if not exists如果表名不存在,那么就创建,否则不执行创建代码:检查功能。
        表选项:控制标的表现
        字符集:charset/charcater set 具体字符集保证数据存储的字符集
        校对集:collate 具体校对集
        查看数据表:
        1.查看所有表:show tables;
        2.查看部分表:show tables like ‘pattern’;
        3.查看表的创建语句:show create table 表名;
        4.查看表结构:查看表的字段信息 Desc/decribe/show 表名;
        更新数据表:
        表本身存在 还包含字段,表的修改包括修改表本身和修改字段。
        修改表本身:
                表本身可以修改表名、表选项
                修改表名:rename table 旧表名 to 新表名;
                修改表选项:字符集、校对集和存储引擎 Alter table 表名 表选项 = 值
        修改表字段:
                新增字段:Alter table 表名 add [column] 字段名 数据类型 [列属性][位置]
                修改字段:Alter table 表名 modify 字段名 数据类型 [属性][位置]
                重命名字段:Alter table 表名 旧字段 新字段 数据类型 [属性][位置]
                删除字段:Alter table 表名 drop 字段名

                位置:字段名可以存储在表中的任意位置。
                First:第一个位置
                After:在哪个字段之后,在哪个字段之后: after 字段名; 默认的是在最后一个字段之后默认存储
        在最后一个字段之后。
        删除数据表:
        Drop table 表1,表2,表3;

数据操作

        新增数据
                格式1:给全表字段插入数据,不需要指定字段列表,要求数据的值出现顺序必须与表中设计的字段出现的顺序一会;
        凡是飞数据数据都需要使用引号(建议使用单引号)包裹
                insert into 表名 values(值列表) 该语句也可以一次性插入多条数据,但是需要用逗号隔开
                格式2:给部分字段插入数据,需要选定字段列表,字段列表出现的顺序与字段的顺序无关,但是值列表的顺序必须
        与选定的顺序一致。
                insert into 表名 (字段列表) values (值列表)该语句也可以一次性插入多条数据,但是需要用逗号隔开
        查看数据
                select */字段列表 from 表名 where[条件]
        更新数据
                update 表名 set 字段=值 where 条件 该语句也可以更新多个字段,需要用逗号隔开。
        删除数据
                delete from 表名 where [条件]

你可能感兴趣的:(数据库)