1 安装

  MySQL常见的版本

    GA: 广泛使用的版本

    RC: 最接近正式版本

    Alpha和Bean: 内测版本和公测版本

  有两种安装方式: 安装包和压缩包

  1) 安装msi文件

    

    

    

    

    

  2) 解压zip文件

    解压之后, 添加bin目录到环境变量

    进入bin目录下初始化配置

mysqld --initialize-insecure

    安装windows启动服务

"c:\mysql-5.7.16-winx64\bin\mysqld" --install

    启动服务

net start mysql

    登录数据库

mysql -u root -p

2 数据库概念

  数据库管理技术的发展阶段

    人工管理

    文件管理

    数据库系统

  数据库的分类

    

    1 层次数据库和网状数据库

      解决数据集中和共享问题

    2 关系型数据库

      解决数据库独立性和抽象级别

      明确数据的存储结构

      将数据结构归结为简单的二元关系

    3 非关系型数据库

      NoSQL(Not Only SQL)泛指非关系型数据库, 主要应用于超大规模和高并发

      键值存储数据库

        主要使用哈希表, 通过键来添加查询删除数据

        典型产品: Redis

      列存储数据库

        将数据存储在列族中, 通常被用来存储分布式海量数据

        典型产品: HBase

      面向文档数据库

        基于版本化的文档, 可以通过json存储数据, 可以被认为是键值存储数据库的升级版

        典型产品: MongoDB, CouchDB

      图形数据库

        循序数据以图的形式存储, 实体被称为定点, 实体之间的关系是边

        典型产品: Neo4J

  DB数据库

  DBMS数据库管理系统

  DBS数据库系统

  DDL数据库定义语言

  DML数据操作语言

  DCL数据控制语言  

3 数据库与数据库对象

  系统数据的作用

  

  数据库: 存储数据库对象的容器

  数据库对象: 存储, 管理, 和使用数据的不同结构形式, 主要包含表, 视图, 存储过程, 函数, 触发器和事件等

  (1) 查看数据库

show databases;

  (2) 使用数据库

use 数据库名字;

  (3) 创建数据库

create database 数据库名 default charset "utf8";

    设置好数据库的字符集

    注意数据库的名称设置

    长度要小于128位

  (4) 删除数据库

drop database 数据库名;

4 引擎和数据类型

  引擎决定了表在计算机的存储方式, 如何存储和索引数据, 是否支持事务

  查看数据库支持的引擎

show engines;

  一般地:

    执行命令要有命令结束, 一般用; /g 和/G

    前两个效果相同, /G可以帮助更美观的显示

  数据类型

  (1) 整数类型

    tinyint, smallint, mediumint, int/intrger, bigint

    对应的存储字节数是1, 2, 3, 4, 8

  (2) 浮点数类型

    float, double

    存储字节是4, 8

  (3) 日期时间

    date, datetime, timestamp, time, year

    

  (4) 字符串类型

    char(个数), varchar(个数)
    varchar是变长的字符串

    tinytext, text, mediumtext, longtext

5 表的操作

  表的操作包含创建表, 查看表, 删除表, 修改表, 这些操作是最基本的表管理操作

  表示指代一个二维关系的数据

  行: 记录

  列: 字段

  索引: 根据指定的数据库表建立起来的顺序, 提供了快速访问数据的途径, 并且可以监督表中的数据, 使其索引指向的列中的数据不重复

  触发器: 根据用户自定义的事物命令的集合, 当一个表的赎金更改时就会执行这组命令

    用于确保数据的完整性和安全性

  (1) 创建表

create table 表名{
属性名 数据类型 约束条件;
...
}

  (2) 查看表的结构

desc 表名;

  (3) 查看表的详细定义

show create table 表名;

  (4) 删除表

drop table 表名;

  (5) 修改表名

alter table 原表名 rename 新表名;

  (6) 给表增加一列

alter table 表名 add 列名 列类型 (first/ after 属性名);

  默认是在最后一列加上

  如果需要在最开始加上 可以加上关键字first

  或者指定再某一属性之后 after 某属性名

  (7) 删除一列

alter table 表名 drop 属性名;

  (8) 修改列的属性

alter table 表名 modify 属性名 数据类型;

  修改列的名字

alter table 表名 change 原来属性名 新的属性名 数据类型;

  (9) 表的约束

  NOT NULL : 非空

  default 默认值 : 设置默认值

  unique : 唯一值, 不允许重复的值

  primary key : 主键

  auto_increment : 自动增长

  foreign key : 外键

constraint 外键约束名 foreign key (列名) references 表名(列名)

参考链接

友情链接

友情链接2

练习题

索引补充

第十四章-MySQL的更多相关文章

  1. 《Linux命令行与shell脚本编程大全》 第十四章 学习笔记

    第十四章:呈现数据 理解输入与输出 标准文件描述符 文件描述符 缩写 描述 0 STDIN 标准输入 1 STDOUT 标准输出 2 STDERR 标准错误 1.STDIN 代表标准输入.对于终端界面 ...

  2. perl 第十四章 Perl5的包和模块

    第十四章 Perl5的包和模块 by flamephoenix 一.require函数  1.require函数和子程序库  2.用require指定Perl版本二.包  1.包的定义  2.在包间切 ...

  3. Gradle 1.12 翻译——第十四章. 教程 - 杂七杂八

    有关其它已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或訪问:http://gradledoc.qiniudn.com ...

  4. C和指针 (pointers on C)——第十四章:预处理器

    第十四章 预处理器 我跳过了先进的指针主题的章节. 太多的技巧,太学科不适合今天的我.但我真的读,读懂.假设谁读了私下能够交流一下.有的小技巧还是非常有意思. 预处理器这一章的内容.大家肯定都用过.什 ...

  5. CSS3秘笈复习:十三章&十四章&十五章&十六章&十七章

    第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮 ...

  6. JavaScript高级程序设计:第十四章

    第十四章 一.表单的基础知识 在HTML中,表单是由<form>元素来表示的,而在javascript中,表单对应的则是HTMLFormElement类型.HTMLFormElement继 ...

  7. 第四章 MySQL高级查询(二)

    第四章 MySQL高级查询(二) 一.EXISTS子查询 在执行create 或drop语句之前,可以使用exists语句判断该数据库对像是否存在,返回值是true或false.除此之外,exists ...

  8. C#语言和SQL Server第十三 十四章笔记

    十三章  使用ADO.NET访问数据库 十四章使用ADO.NET查询和操作数据库 十三章:                                                       ...

  9. Gradle 1.12用户指南翻译——第二十四章. Groovy 插件

    其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...

随机推荐

  1. java使用Runtime.exec()运行windwos dos或linux shell命令

    使用Runtime.exec()运行windwos dos或linux shell命令,按实际情况具体测试     实例代码: package com.bookoo.test.command; imp ...

  2. 前端标签--js--css大致思路

    html标签语言在块级和内联标签的基础上进行页面的设计,设计的时候主要是注意标签块间的距离位置等信息,设计盒子的浮动,盒子的位置,盒子之间的联系. 在设计网页之前一定要判断好该设计多少个盒子,什么样的 ...

  3. php解析带有命名空间的xml

    xml如果带有命名空间我们将如何解析,例如: <ns1:CreateBillResponse xmlns:ns1="http://neusoft.com" xmlns:xsd ...

  4. iOS对象(数组)转化为JSon字符串

    - (void)seabc { NSArray *arry=[NSArray arrayWithObjects:@"0081",@"0082",@"0 ...

  5. Android 红色小圆球提示气泡 BadgeView

    今天给大家分享两个实用有简单的一个小圆球提示气泡: BadgeView 参考地址: https://github.com/qstumn/BadgeView;       个人地址:http://git ...

  6. ThreadLocal的简单使用

    package com.thread; public class ThreadLocalTest { public static void main(String[] args) { final Pe ...

  7. js实现网页中的"运行代码"功能

    <!DOCTYPE html> <html> <head> <meta charset='utf8' /> <title>网页中的运行代码功 ...

  8. Hadoop实战-Flume之自定义Sink(十九)

    import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...

  9. 图床QAQ

  10. 【题解】 P1373 小a和uim之大逃离

    题解 P1373 小a和uim之大逃离 传送门 一道dp好题 乍看此题,感觉要这样设计: \(dp(x)(y)(mod_{a})(mod_{uim})(0/1)\) , 但是我上午考试就MLE了,赶紧 ...