一、数据库的基本概念

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;">

 
 
 
 

16mysql1的更多相关文章

随机推荐

  1. MySQL 基础七 视图

    -- 查看表 SELECT * FROM student; SHOW CREATE TABLE student; -- 创建视图 CREATE VIEW v_student1 AS SELECT *F ...

  2. 【Codeforces 1109C 】Sasha and a Patient Friend

    Codeforces 1109 C 题意:现在有个碗,每时每刻其中的水量都会加一个整数(可以为负). 给\(n\)个询问,询问有\(3\)种类型: \(1\ t\ s\):将从第\(t\)秒开始水量增 ...

  3. <转>聊聊持续集成

    从别处看到了一篇关于持续集成的文章,个人感觉蛮不错的,分享给大家... 原文链接:对于持续集成实践的常见问题解答 1.什么是持续集成? 集成,就是一些孤立的事物或元素通过某种方式集中在一起,产生联系, ...

  4. Django 学习 (第四部)

    1.Django请求的生命周期 首先是url---->路由系统 -> 试图函数(获取模板+数据=>渲染) -> 字符串返回给用户2.路由系统{建立路由关系urls.py (fu ...

  5. 如何学习 Webpack

    webpack-howto Tip: 本文是 webpack-howto 的原文,我觉得这篇文章写得非常好,确实算是目前学习 webpack 入门的必读文章.直接收录之. 本教程的目标 这是一本教你如 ...

  6. Ionic App 启动时报Application Error - The connection to the server was unsuccessful

    最近在更新App的时候,发现在华为手机上报这个错误,有点困惑,查找资料分析,大概原因是程序在加载index.html网页时,加载的资源过多,造成时间超时, 这个时原因分析https://stackov ...

  7. 从0到1上线一个微信小程序

    0.0 前期准备 微信小程序的出现极大地降低了个人开发者微创业的门槛,不需要后端技术,不需要服务器和域名这些乱七八糟的前置操作,只需要懂得前端技术,就能发布一款属于自己的轻量级应用,简直是前端开发者的 ...

  8. StoryLine3变量存储与跳转后台时的使用

    前言 公司项目原因,接触到storyline3(后面简称SL)课件制作工具,类似ppt,但是又多了互动.交互,且页面元素可添加触发器,触发器中可执行js代码. 1.官方教程 在SL中,会有“了解详情. ...

  9. 我的github地址

    链接:https://github.com/long0123/test.git   推送项目的github的大致步骤如下: 1.在本地创建一个项目仓库,可以放些基本的项目文件 2.cd至该目录下 3. ...

  10. 四则运算安卓版ver.mk3

    在原有的基础上做了些许改动以及添加了一点小功能,以下是代码: package com.example.add; import java.io.File; import com.example.add. ...