您的位置:首页 > 数据库

SQL 上

2020-06-29 05:03 1161 查看

非关系型数据库
NOSQL


关系型数据库
SQL(结构化查询语言)
主要是MySQL(关键字不区分大小写 建议大写)
    操作的方式不同分为
    **DDL(Data Definition  Language)数据定义语言
    用来创建 ,删除,修改数据库中的对象(表格,用户,索引,视图,存储过程,触发器)
    creat 创建 drop 删除 alert 修改
    
    **DML(Data Manipulation Languafe)数据库操作语言
    用来操作数据库表格之中的具体数据
    写数据  inseret 新增 delete 删除 updata  修改
    读数据  select  查询
        ***DQL (Data Query Language )数据查询语言
        select    where 条件  group by分组 having条件  order by排序
    DCL (Data Control Language)数据控制语言
          用来控制用户权限             SYSDBA数据库管理员
          赋予grank    权限 , 权限 to 用户
          回收remoke  权限 ,权限 from 用户
    
    **TPL(Transcation Process Language)事务处理语言
        可以理解为多线程并发访问同一个文件资源 带来的安全问题)
        begin Transcation
        commit 提交
        rollback 回滚
        save point A 保存还原点
    
=====================================
安装完毕 找MySQL命令行打开 输入root密码
 
一个数据库包含多个 小的数据库 database

show databases;       显示当前账户能看到的所有数据库
use database名字;    使用(进入)某个数据库
show tables;            显示当前数据库的所有表格
use table名字;          使用table
exit ;                        退出

================================第三节课
SQL 结构化查询语言
    DDL  Data Definition Language
    用来定义数据库中的对象
    creat创造  drop 删除  alert 修改
    DML  Data Manipulation Language
    用来操作语言
                写 入信息  新增 insert   删除 delete   修改  update
            DQL 数据查询 Data Query Language
    专门用于查询的
    select  where group by having order by
     DCL数据控制语言
    Data Control Language
    控制数据库用户的权限
    grant   revoke
     TPL事物处理语言  Transcation process Language
    可以理解为多线程并发 操作同一个文件
        begin transcation
        操作
        commit 提交
        rollback 回滚
        save point 保存还原点

------------------------------------------------------
DDL数据定义语言
  1,创建一个database
      create alter drop
      creat database  数据库名(遵循数据库的规范)   不区分大小写的
      
  2,创建一个表格
   creat  table 表格名字(
     列名  数据类型(长度),
     列名  数据类型(长度),
     列名  数据类型(长度),
     列名  数据类型(长度),
   )
  3,数据库的数据类型
    存储数据的方式来分类  三类
    数值型
        整数--tinyint   smallint  mediumint   *int  4个字节32bit/intrger  bigint
        小数--*float 4字节 *double 8字节   decimal  numeric

    字符串
        正常字符串  char字符串  varchar可变字符串    variable可变的

        char(4) 只能存储四个字节以内                          varchar(4)

              a -----不管到不到四个字节 都存储四个       a--一个字节可随机变换、

        存储二进制(i基本不用)
        binary 二进制  varbinary 可变二进制
        blob 二进制大文本    text正常字符串大文本
    日期/时间
        *data 日期 time 时间  *datatime日期&时间   timestamp 时间戳
    都是固定大小的

  4,在database创建一个表格

  5,通过DDL修改表名,列名,等表格的结构
    1,修改表格名字
    alter table 原来表名 rename to 新表名
    2,修改原来的列名 类型,长度
    alter table 原表面 change  原列名  新列名 行类型  新长度 ;
    3,新增一个列
    alter  table 原表名 add 新列名 新类型 新长度;
    4,删除原有的列
    alter  table  原表明  drop 原列名;
 6,删除表格
    drop table 表名/数据库名字; 

===============第四节课===============
DML 操作   语句
       写入信息
    新增 inseret  删除 delete  查询 select
inseret  into  表名 (列名,列名,列名) values (值,值,值);

    在加入时间的时候可以写 now() ; 
    增加一列数据的时候 可以inseret into 表名 values ***********;
           其中的数据个数和顺序和类型 ,都一致;    
    增加两个或者多个列数据 inseret into 表名 values (数据1),(数据2);

----------------字符集 中文的数据---------------------------
按照默认的创建数据库 字符集有默认的字符集--->latin1()
当前的数据库表格之中都按照默认的字符集存储,不能存储中文

可查询数据库是什么字符集

可以创建的时候加入如下:
creat database tast     [ default character set =['utf-8']  ;

创建表格的时候 设置字符集,只会吧这个table设置成中文,
其他的table不会被设置;
creat table 名字(
列名 类型(长度),
列名 类型(长度),
)character set utf8  collate utf8_general_ci;
字符集设置 character set utf8


字符排序设置utf8_general_ci;(性能好但是不精确)

或者utf8_unicode_ci;(性能不好但是精确)


显示表格里面的字符集
show table status from  数据库名 like 表名;
----------------------------------------------------------------

删除
    delete from  表名 ;
修改
    updata 表名 set 列名 = '**'; 

 查询  
    
    select 列名,列名 from 表名;
    select* from 表名 ;

  

==============where筛选==========================

除了insert以外的 update delete sleect语句之后

insert into 表 (值,值) values (a,b);

 

delete from 表 where...;

select 列 from 表where... ;

updata 表 set 列=值 where...;

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

where后面的

1,比较运算符有:

>,<,>=,<=,!=,=

2,算数运算符:

xx +-*/ 在比较

3,逻辑运算符

and or not 其中  and 比 or 运算等级高;

其中使用and的时候,AandB会先比较符合A的所有

然后吧符合A的数据比较B。因此为了效率要把条件苛刻的放在前面,

4,[not]between  A and B  包含前后端的值 [A,B]效率块

5,where ID   [not]in(1,2);id是1 2 的

6,模糊查询

like   

%用于代替0-n个字符

_用来代替1个字符集

where  name [not] like ‘z%’

以z开头的 name

 

7,排序

   是连接在查询之后的

    order by 列名

asc 降序

desc 降序

 

 

 

 

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: