一、数据库概念

数据库(Database:DB):数据库是按照数据结构来组织、存储和管理数据的仓库--->数据库其实就是磁盘中的文件+管理系统
    数据库管理系统(Database Management System:DBMS)是专门用于管理数据库的计算机系统
软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能。并完成

对数据完整性、安全性进行控制的功能

=======================================================

二、SQL:结构化查询语言(Structured Query Language)

关系型数据库标准语言,特点:简单,灵活,功能强大
SQL包含6个部分(*号表示常用):
    1.数据查询语言(DQL query)*
    其语句也称为“数据检索语言”,用以从表中获取数据,确定数据怎样在应用程序中输出,关键字       SELECT(查询)是DQL(也是所有SQL)用的最多的动词,其他DQL常用的关键字有WHERE(用来限制字   段),ORDER BY(排序),
    GROUP BY(分组)和HAVING(分组后排序)。这些DQL关键字常与其他类型的SQL语句一起使用。

2.数据操作语言(DML manipulation)*
    其语句包括动词INSERT,UPDATE和DELETE,它们分别用于添加,修改和删除表中的行,
    也称为动作查询语言(SELECT查询和INSERT查询有什么区别?)

3.事务处理语言(TCL)
    它的语句能够确保被DML语句影响的表所有行及时得到更新,TPL语句包括BEGIN TRANSACTION,
    COMMIT(事务提交)和ROLLBACK(事务回滚)
    
    4.数据控制语言(DCL)
    它的语句通过GRANT和REVOKE获得许可,确定单个用户和用户组对数据库对象的访问,某些RDBMS
    可用GRANT和REVOKE控制对表单个列的访问

5.数据定义语言(DDL definition)*
    其语句包括动词CREATE(创建)和DROP(删除),在数据库中创建新表和删除表,为表加入索引等。
    DDL包括许多与人数据库目录中获得数据有关的关键字,它也是动作查询的一部分

6.指针控制语言(CCL)
    它的语句,像DECLARE CURSOR,FETCH INTO 和UPDATE WHERE CURRENT用于对一个
    或多个表单独进行的操作

======================================================

三、SQL编写规则:

1.在数据库中,SQL语句不区分大小写
    2.SQL语句可以单行也可以多行写
    3.在SQL语句中,关键字不能多行或缩写
    4.为了提高可读性,关键字一般大写,其他小写
    5.空格和缩进使程序易读

6.SQL不需要加分号,但是程序员在语句后加分号是一个好习惯

四、什么是表?

我们说MySQL是一种关系型数据库,关系型数据库最重要的概念就是表,表具有固定的列数和任意的行数,在数学上称为“关系”二维表是同类实体的各种属性的集合,每个实体对应于表中的一行,在关系中称为元组,相当于通常的一条记录,表中的列属性,称为Field,相当于通常记录中的一个数据项,也叫做列、字段。
    面向对象的类,类似于关系型数据库中表的概念
ORM思想:对象-关系映射

属性
对象        一行数据

五、数据库操作和存储引擎

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

数据库分为两种:系统自带的,和用户自定义数据库
常用数据库命令:
show databases;                           查看数据库
use dName;                                  使用数据库
show tables;                                  查看表
create database dName               创建数据库
drop     database    dName          删除数据库

六、Mysql数据常用类型

MySQL以一个可选的显示宽度指示器的形式对SQL标准进行扩展,这样当数据库检索一个值时,可以把这个值加长到指定长度需要注意,使用一个宽度指示器不会影响字段的大小和它可以存储的值的范围,一般不用指定位宽

整数类型

INT     int/Integer
BIGINT long/Long

int(2),在检索时,长度会加长到2,不代表最大存储99,仅仅是查询时,使用两个0占位

小数类型

FLOAT float/Float
DOUBLE double/Double

money(5,2):整数和小数一共5位,其中小数占两位,最大999.99最小-999.99

字符类型

CHAR 定长字符型,0-255字节 String/StringBuid
VARCHAR 变长字符型 StringBuffer
TEXT 纯文本  

定长和变长:字节数的占用问题CHAR(5),VARCHAR(5),存‘1’,CHAR五个字节,VARCHAR1个字节

日期类型

DATE 0000:00:00 Date/Calender
TIME 00:00:00  
DATETIME 0000:00:00 00:00:00  
TIMESTAMP 时间戳(1970-01-01 00:00:00差)  

二进制类型   (用的很少)

BINARY\VARBINARY\TINYBLOB\BLOB\MEDIUMBLOB\LONGBLOB 存放图形、声音、影响、二进制对象 *:一般将二进制的文件保存路径存储在数据中

BIT        boolean

七、表的操作

创建表
    CREATE TABLE 表名(
        colName1 type1 [约束]
        colName2 type2,
        colName3 type3
    );

ex:创建一张学生信息表
    create table t_student(
        id int;
        name varchar(20);
        age int;
    );
    为了避免使用到关键字,我们还可以将名字用` `圈起来
    CREATE TABLE `t_stu` (
      `id` int(2) NOT NULL AUTO_INCREMENT,
      `name` varchar(10) NOT NULL,
      `age` int(2) NOT NULL,
       PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk

查看表的结构
    desc tName;
查看表的详细定义(查看表的定义SQL语句)
    show create table tName;
删除表
    drop table tName;

表的约束(针对某列而言)
    1.非空约束:NOT NULL,不允许字段的内容为空
    2.设置列的默认值:DEFAULT
    3.唯一约束:UNIQUE,在该表中,该列的内容必须唯一
    4.主键约束:PRIMARY KEY,非空且唯一
        主键设计,唯一标识某一行数据
    5.主键自增长:AUTO_INCREMENT,从1开始,步长为1
    6.外键约束:FOREIGNKEY,A表中的外键列,A表中的外键列的值必须参照于B表中的某一列(B表的主键)

*注意:主键的设计
        1.单字段主键:单列作为主键,建议使用
           复合主键:使用多列字段当主键,不建议
        2.主键的种类:
            1).自然主键:使用有业务含义的列作为主键(不建议使用),例如身份证号码
            2).代理主键:使用没有业务含义的列作为主键

CREATE TABLE `t_student`(
        `id` INT PRIMARY KEY;                                      //主键,非空且唯一    
        ` name` VARCHAR(20) UNIQUE NOT NULL;    //非空且值唯一
        `age` INT DEFAULT 100;                                   //默认值100
    );

八、MYSQL小结

1.MySQL安装和配置(存储引擎,字符编码,密码)
    2.常用命令

1)查看有哪些数据库

show databases;

2)使用某一个数据库

use dName;

3)查看某个数据库中有什么表

show tables;

4)创建和删除一个数据库

create database dName;
drop database dName;

5)创建和删除表

    create table tName(colName1 type1 [约束],colName2 type2 [约束],colName3 type3);
drop table tName;

MySQL学习(一、概述和表的基本操作)相关推荐

  1. MySQL学习_数据库和表的基本操作

    目录 1 创建和查看数据库 1.1 创建数据库 1.2 查看数据库 1.3 修改数据库 1.4 删除数据库 2 数据类型 2.1 整数类型 2.2 日期数据类型 2.3 字符串数据类型 3表的基本操作 ...

  2. MySQL学习记录(导入Excel表到数据库,并筛选条件输出)

    附上:重置mysql账号密码方法 ubuntu系统下mysql重置密码和修改密码操作 - skh2015java的博客 - CSDN博客(改完重启,登录mysql要root/sudo权限) Cento ...

  3. (一)alin‘s mysql学习笔记----概述

    最近进一步学习的mysql的相关知识,将学习内容汇总于此,主要分八个章节,依次为: mysql的存储引擎 Mysql常用的join连接查询 索引简介 索引性能分析 索引失效及索引优化 Sql查询优化 ...

  4. mysql新增阵列df_DF学Mysql(二)——数据表的基本操作

    1.创建数据表 先使用"USE "指定在哪个数据库中操作 CREATE TABLE ( 字段1 数据类型 [列级别约束条件] [默认值], 字段2 数据类型 [列级别约束条件] [ ...

  5. mysql学习笔记14 多表查询初步

    对数据分组的总结 举例:统计各个部门的平均工资,并且是大于1000的,并且按照平均工资从高到底排序 mysql> select avg(stsal) as myavgsal, stdepno f ...

  6. mysql 学习笔记03修改表以及其他操作

    首先创建一张表 在现有表的结构上增加字段 alter table users add image varchar(100) not null defalut '' comment '图片路径'; 修改 ...

  7. mysql 学习笔记 02创建表

    表结构的创建 比如: create table userinfo (id int unsigned comment 'id号'name varchar(60) comment '用户名'passwor ...

  8. MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  9. MySQL学习笔记06【多表查询、子查询、多表查询练习】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  10. MySQL学习笔记05【多表操作、三大范式、数据库的备份和还原】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

最新文章

  1. CSS(2 )-- CSS样式大全
  2. 抽象:程序员必备的能力
  3. STM32学习笔记之__attribute__ ((at())绝对定位分析
  4. 洛谷 P2731 骑马修栅栏 Riding the Fences
  5. [转发] 【GRT安智网】HTC安致手机ROM国内首个中文定制教程goapk首发[最新厨房V0......
  6. IIs+php 最精简的环境配置
  7. jsp文件能转换html吗,html怎么转换成jsp
  8. Silverlight 动态调用 WebService
  9. USACO-Section2.1 The Castle (深度优先搜索)
  10. WITH ROLLUP、WITH CUBE、GROUPING语句的应用
  11. 无法添加外键约束的原因(cannot add foreign key constraint)
  12. 牛津3000释义词典_常见英语词典集锦
  13. 计算机按电源键无法反应,电脑无法开机怎么办 按电脑开机键也没反应的原因及处理解决办法...
  14. Android双系统实现
  15. 智能指针的标准之争:Boost vs. Loki (转载)
  16. CSS设置背景图像的属性
  17. Java开源生鲜电商平台-深刻理解电商的库存架构与解决方案(源码可下载)
  18. 近在身边的神秘卫士——月球
  19. Java中创建线程的三种方式
  20. 英语口语269之每日十句口语

热门文章

  1. 子模的性质(submodular)
  2. 关于深度探索C++对象模型笔记
  3. manjaro linux 使用Xorg显示服务器
  4. linux opendir php,php目录遍历函数opendir用法实例
  5. Spring cloud Gateway介绍
  6. 江苏省计算机二级C操作题汇编
  7. python装饰器用法
  8. sql语句截取字符串
  9. Java多线程系列--“JUC集合”
  10. Redis6.0为什么引入多线程