• 16mysql1


    一、数据库的基本概念

            1.1  常用的关系型数据库

                           数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

            1.2  sql语言

         SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的关系型数据库均支持SQL。
     
    特点
         非过程性语言。一条语句一个结果。多条语句之间没有影响。每一条SQL执行完都会有一个具体的结果出现。
     
    SQL是用来操作关系数据库的语言,具有查询、操纵、定义和控制关系型数据库的四方面功能
     

            1.3  sql分类

    DDL (数据定义语言)
    数据定义语言 - Data Definition Language
    用来定义数据库的对象,如数据表、视图、索引等
    create drop alter truncate
     
    DML (数据操纵语言)
    数据处理语言 - Data Manipulation Language
    在数据库表中更新,增加和删除记录
    如 update, insert, delete 不包含查询
     
    DCL (数据控制语言)
    数据控制语言 – Data Control Language
    指用于设置用户权限和控制事务语句
    如grant,revoke,if…else,while,begin transaction
     
    DQL (数据查询语言)(★★★★★)
    数据查询语言 – Data Query Language
    数据表记录的查询。
    select

    二、对数据库进行操作的语句

     
    1.1 数据库中默认自带有4个库:
            1.information_schema 数据库:
        其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据的表,表栏的数据类型与访问权限等。
            2.performance_schema 数据库:
    存储引擎:命名PERFORMANCE_SCHEMA,主要用于手机数据库服务器性能参数。
            3.mysql 数据库:
            mysql库是系统库,里面保存有账户信息,权限信息,存储过程,event,时区等信息
            4.test 数据库:
    这个是安装时候创建的一个测试数据库,和它的名字一样,是一个完全的空数据库,没有任何表,可以删除。
     
    1.2 查看所有数据库
    1.1 查询当前所有的数据库
    show databases;
    1.2 查看当前数据的创建方式:查看数据库的编码表
    show create database 库名;
    1.3 创建数据库
    create database 数据库名: 由于创建数据库时没有指定编码表,因此会使用安装数据库时默认的编码表
    create database 数据库名 character set 编码表名;创建数据库会使用指定的编码表
    1.4 删除数据库
    drop database 数据库名;
    1.5 修改数据库编码集
    alter database 数据库名称 character set 字符集;
     
    1.3 数据表结构的sql语句
            1.1 数据表的创建语句
            create table 表名(         
     列名 数据类型,          
     列名 数据类型,
     ……
     列名 数据类型 (最后一个列不需要逗号)
            );
    1.2 查看表
           show tables : 查看该数据库的所有的表
                    show create table 表名 :查看建表语句以及字符集
                    desc emp 查看表的详细信息
                    show columns from emp ;查看表的列信息
    1.4 约束
            1.1 主键约束
                    primary key
                    varchar 类型的主键不可以自增长.
                    示例:
                            【示例】
    create table 表名 (
     id int primary key auto_increment,
     name varchar(20),
     ………….
    );
              1.2 唯一约束
                    unique 内容不允许重复,可以为null(null不算重复)。 
    一个表里可以添加多个唯一约束。
    【示例】
    create table 表名 (
     id int primary key auto_increment,
     name varchar(20) unique,
     ………….
    );
    唯一约束和主键约束的区别  
    1、唯一约束可以是空(null)。 但是主键约束不能为空
    2、一张表中只能有一个主键,但是唯一约束可以有多个
              1.3 非空约束
            not null 不允许为空 表示该列的内容 不允许为空。
    约束的目的。
    目的:保证数据的正确性。
    约束列。限制列的内容。
    1.5  数据表结构的修改
            1.修改数据表
                    可以对表名、表中的列名、列的类型、列的约束进行增删改
                    语法 :alter table 表名  add/drop/modify  改名  类型长度  约束;
             2. 修改现有列的类型,长度和约束 用modify
            3. 修改现有列名称
                        语法 alter table 表名 change 旧列名 新列名 类型(长度) 约束;
    ·        4. 删除现有列
                        语法 alter table 表名 drop 列名
              5. 修改表名 
                        语法 :rename table 旧表名 to 新表名
              6. 修改表的字符集 
                        语法 : alter table 表名 character set 编码集;
    1.6 数据表的删除
             语法 : drop table 表名:
     

    三、数据记录的增删改

        
           在java代码中对数据库操作最频繁的就是对表中数据的CRUD操作:create read / retrive update delete
    数据记录存储位置
                
                        增:  语法:insert into 表名 (列名,列名,列名。。。) values( 值,值,值。。。);
                        改update 表名 set 列名 = 值 , 列名 = 值 .. . [where 条件语句];            notes:如果不加条件 则修改整列
                        delete :delete from 表名 [where 条件语句]                       
                                 notes:如果没有where 删除表中所有的记录    delete 删除的是行
                                              truncate table 表名 是删除一个表,之后在根据你 的表结构在给你创建一张新表
     
     
     
     
     
     

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





  • 相关阅读:
    zabbix server 给agent 添加 CPU 监听笔记
    解决windows文件名过长无法删除的问题
    一个大的OpenAPI Specification yaml 分割成小的yaml文件
    win10 移除2345输入法
    树莓派登录ssh 很慢和开机启动tightvncserver
    docker gitlab-ce 容器root密码重置小记
    Arduino Nokia 5110 LCD屏幕使用小记
    Docker Compose文件下载慢的处理笔记
    Ubuntu 18.04 安装rtorrent笔记
    vagrant Which interface should the network bridge to?
  • 原文地址:https://www.cnblogs.com/zhengyuan/p/9389728.html
Copyright © 2020-2023  润新知