首先弄什么是数据库?

  数据库就是用来存储和管理数据的仓库。

数据库存储数据的优点:

  1.可存储大量的数据  2.方便检索  3.保持数据的一致性,完整性  4.安全 可共享  5.通过组合分析,可以产生新的数据。

数据库的发展历程:

  1.没有数据库,使用磁盘文件来存储数据

  2.层次结构模型数据库

  3.网状结构模型数据库

  4.关系结构模型数据库  (使用二维表格存储数据)

  5.关系-对象模型数据库

注:关系模型由关系数据结构,关系操作集合,关系完整体约束三部分组成

  MySql是一个关系结构模型数据库。

常见的数据库:

  甲骨文:oracle与MySql      IBM:  DB2  微软:SQLServer  赛尔斯:Sybase

关系型数据库管理系统是由多个数据库+管理员=N个table

一个数据库可以有多个table

表格的创建:

  数据库表是一个多行多列的表格 ,创建时需指定表的列数,列名称,列类型。不用指定表的行数,因为行数是没有上限的。

在计算机的CMD中操作数据库:

  启动MySql服务器:net start mysql  关闭MySql服务器:net stop mysql

  登录MySql:mysql -uroot -p123 -hlocalhost  (-u后面是用户名,-r后面是密码,-h后面是服务器主机名,可以省略)

  退出MySql:quit或exit

SQL是什么?

  SQL是“结构化的查询语言,它是对关系型数据库的操作语言,可以应用到所有关系型数据库中”。

  虽SQL可用在所有关系型数据库中,但很多数据库都有属于自己的特有的语法。列如:MySql中的limit语句就是MySql独有的。

语法要求:

  SQL语句可单行或者多行书写,以分号结尾,可用空格或缩进增强语句的可读性,关键字不区分大小写,默认显示为大写,建议大写。

DDL:数据定义语言,用来定义数据库对象 ,库,表,列等

DML:数据操作语言,用来定义数据库的记录

DCL:数据控制语言,用来定义访问权限和安全级别

DQL:数据查询语言,用来查询数据记录

DDL:数据定义语言,用来定义数据库对象,库,表,列等

  基本操作:

    1.查看所有数据库名:show databases

    2.切换数据库: use  数据库名

  操作数据库

    1.创建数据库:create database 数据库名

    2.删除数据库:drop database 数据库名

    3.修改数据库编码:alter database 数据库名 character set utf8(注:修改数据库编码为utf-8,MySql中不能写-,因此省略)

  数据类型:MySql与java一样,也有数据类型,主要应用于列上

    int:整型  double:浮点型  注:例如double(5,2)表示最多5位,必须有2位数,即最大数为999.99

    decimal:精确小数类型,跟钱有关时使用  char:固定长度字符串类型  varchar:可变长度字符串类型

    text:字符串类型  blob:字节类型  date:日期类型 格式为:yyyy-MM-dd  time:时间类型 格式为:hh:mm:ss

  操作表:

    1.创建表

      create table 表名(

        列名  列类型  (可以还有一些属性),

      );

      例如:

      create table user(

        id  int,

        name  varchar(20),

        salary  double

      );

    2.查看当前数据库所有表的名称:show  tables;

    3.查看当前数据库指定表的创建时语句:show create table 表名;

    4.查看表的结构(列名列类型特有属性等):desc  表名;

    5.删除表:drop  table  表名

    6.修改表

      a.为表添加列:alter table stu add(name varchar(20));

      b.为表修改列类型:alter table stu modify gender char(2);

      c.为表修改列名:alter table stu change gender sex char(2);

      d.为表删除列:alter table stu drop name;

      e.修改表名:alter table stu rename to student;

DML:数据操作语言,用来定义数据库中的记录

  插入数据:insert into 表名(列名1,列名2) values(值1,值2);

  例如:insert into stu(id,name) values(001,'zs');

  修改数据:update 表名 set 列名1='值1',列名2='值2 where 条件;

  例如:update stu set name='zs' where id=01;

  删除数据:delete from 表名 where 条件;  例如:delete from stu where sex='m';

       truncate table 表名;  例如:truncate table stu;

  注:delete根据条件可以删除表里部分数据,而truncate则是删除表里全部数据

  两者都可以删除表里的所有记录,但原理不同:delete 没有truncate效率高

  其实truncate属于DDL语句,因为它是先drop table再create table 而且truncate删除的数据记录无法回滚(即无法恢复找回)

  但delete删除的数据记录可以回滚。

    

  

        

      

  

粗结MySql数据库基础知识点之一的更多相关文章

  1. MySQL数据库基础

    MySQL数据库基础 本文的所有操作是基于CMD环境,MySQL通过在命令行中输入SQL语句对数据库进行操作.配置问题可参考<打通MySQL的操作权限>中的内容,该文算是针对前期的环境配置 ...

  2. MySQL数据库基础知识及优化

    MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...

  3. mysql数据库基础的简单操作指南

    最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益.mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据 ...

  4. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  5. Mysql数据库基础操作

    Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...

  6. mysql数据库基础-2019-9-10(随堂笔记)

    mysql数据库基础 在cmd情况下启动mysql数据库:(配置path环境变量后可忽略) 运行mysql1. 进入mysql路径2. 执行:mysql -uroot -p,安装时的密码 1.数据库& ...

  7. php面试专题---15、MySQL数据库基础考察点

    php面试专题---15.MySQL数据库基础考察点 一.总结 一句话总结: 注意:只写精品 1.mysql定义int(3),那么我存1234就错了么? 不是:无影响:只会影响显示字符的个数:可以为整 ...

  8. PHP面试 MySQL数据库基础

    MySQL数据库基础 MySQL数据类型 整数类型:TINYINT   SMALLINT   MEDIUMINT   INT   BIGINT 属性:UNSIGNED 长度:可以为整数类型指定宽度,列 ...

  9. MySQL数据库--基础简述

    MySQL数据库--基础简述 1.15.1 MySQL简介 Mysql是最流行的RDBMS(Relational Database Management System:关系数据库管理系统),特别是在W ...

随机推荐

  1. postgres外部表如何修改源码适配pg升级

    postgres中外部表的应用如下: 但是许多在github上的fdw开源代码都是基于9.3以及9.4版本开发,原作者没有随着pg的版本升级而将外部表扩展升级,那只能靠自己去手动修改源码来让这些扩展能 ...

  2. Canvas——基本入门

    基本概念 1.canvas 是 HTML5 提供的一个用于展示绘图效果的标签. canvas 原意画布, 帆布. 在 HTML 页面中用于展示绘图效果. 最早 canvas 是苹果提出的一个方案, 今 ...

  3. 【译】x86程序员手册11- 4.1系统寄存器

    4.1 Systems Registers 系统寄存器 The registers designed for use by systems programmers fall into these cl ...

  4. Caffe FCN:可视化featureMaps和Weights(C++)、获取FCN结果

    为何不使用C++版本FCN获取最后的分割掩模,何必要使用python呢!因此需要获取网络最后层的featureMaps,featureMaps的结果直接对应了segmentation的最终结果,可以直 ...

  5. 类QQ账号生成阐述

    具体需求如下: 数字账号从60000到9999999999(类似qq号一样的东东) 用户获取数字账号为随机分配,也可递加分配,需要符合如下规则 特殊账号需要保留,不能分配给用户,比如:112233(连 ...

  6. seam的定时轮巡

    青岛的项目要做一个功能,每天凌晨2点的时候保存一次设备数据,这个就要求项目能够间隔24小时每天去做这个事,是一个自主轮巡. seam框架正好提供了这个功能,@Expiration指定开始时间,@Int ...

  7. 数组题汇总(python3)

    题目主要来自<剑指offer>和LeetCode,用python3来写的代码. 1.二维数组的查找: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列 ...

  8. inet_XX族函数

    在网络编程中, 经常会将网络字节转为本地字节或者将本地字节转为网络字节, 但是如果每次我们都是都通过htonl, ntohl函数需要将10进制转为整数, 甚至还用将字符串转为整数, 再转为网络字节, ...

  9. Spring Web MVC处理流程

    Spring Web MVC 处理流程: 1.浏览器向Spring发出请求,请求交给前端控制器 DispatcherServlet处理 2.控制器通过HandlerMapping找到相应的Contro ...

  10. js中阻止事件冒泡和浏览器默认行为

    在使用javascript编程时会遇到一个问题,就是当你给html添加事件时,由于浏览器默认的为冒泡型事件触发机制,所以会触发你不想触发的事件.那么通过如下的函数可以解决这个问题.[兼容IE和FF] ...