zoukankan      html  css  js  c++  java
  • Mysql浅析

    Mysql浅析

    SQL:

    • Structured Query Language(结构化查询语言)

    SQL分为三个部分:

    • DDL(Data Definition Language)
      • 数据定义语言,用来维护存储数据的结构(数据库、数据表),代表指令: create、drop、alter 等。
    • DML(Data Manipulation Language)
      • 数据操作语言,用来对数据进行操作(数据表中的内容),代表指令: insert、delete、update 等。
      • 其中DML内部又单独进行了一个分类DQL(Date Query Language),数据查询语言。如: select
    • DCL(Data Control Language)
      • 数据控制语言,主要负责权限管理(用户)。代表指令:grant、revoke

    SQL基本操作(crud)

    库操作

    • 新增数据库:
      • 基本语法:create database 数据库名称 [库选项];
      • 库选项:用来约束数据库,氛围两个选项:
        • charset/character set,具体字符集(数据库的编码格式),例:GBK、UTF8...
        • 校对集设定:collate具体校对集。
      • 例如:create database my_database charset utf8;
      • 注意点:
        • 如果想用保留字或者关键字当做库名,需要使用反引号(Tab上面那个键)。
        • 如果想用中文当库名,需要加一行set name gbk;
        • 每个数据库下都有一个opt文件:保留了库选项。
    • 查看数据库:
      • 查看所有数据库:show databases;

      • 查看指定部分的数据库:模糊查询

        • show database like 'pattern';
        • pattern:% 表示匹配多个字符, _ 表示匹配单个字符 。
        • 例如:查看以information_开头的数据库名:
        • show databases like 'information\_%';(_需要转义,用 )
      • 查看数据库创建语句

        • show create database 数据库名;
    • 更新数据库:
      • 基本语法:alter database 数据库名 charset/character [=] 字符集;
      • 数据库名字不可修改,数据库的修改仅限库选项:字符集、校对集(依赖于字符集)
        • 修改字符集后,校对集自动修改
    • 删除数据库:
      • drop database 数据库名;

    表操作

    • 新增数据表:
      • 基本语法:
        create table [if not exists] 表名 ( 字段名 数据类型, ... 字段名 数据类型 )[表选项];
      • if not exists:可选项,如果表不存在就创建,否则不执行创建代码。
      • 表选项:
        • 字符集:charset / character set 具体字符集。
        • 校对集:collate 具体校对集。
        • 存储引擎:engine 具体存储引擎(常见为innodb和myisam)。
      • 注意:任何一个表都需要制定数据库。
        • 方案一:create table 数据库名.表名...
        • 方案二:use 数据库名,再创建表。
    • 查看数据表(跟查看数据库类似):
      • show tables;
      • show tables like 'pattern';
      • show create table 表名 g或者G或者;
        • g:;(分号)。
        • G:将查到的表旋转90度查看。
      • desc 表名; == describe 表名; == show columns from 表名;
    • 修改数据表(分两类修改):
      • 修改表本身:表名和表选项
        • 表名:rename table 旧表名 to 新表名;
        • 表选项:alter table 表名 表选项 [=] 值;
        • 例:
      • 修改字段(新增、修改、重命名、删除)
        • 新增字段:
          • 基本语法:alter table 表名 add [column] 字段名 数据类型 [列属性][位置];
          • 位置:first:第一个位置、after 字段名:在指定字段之后,默认是在最后一个字段之后。
          • 例:
        • 修改字段(修改列属性或者数据类型):
          • 基本语法:alter table 表名 modify 字段名 数据类型 [列属性][位置];
          • 例:alter table my_class modify name varchar(30) first;
        • 重命名字段:
          • 基本语法:alter table 表名 change 旧字段名 新字段名 数据类型 [列属性][位置];
          • 例:alter table my_class change name new_name varchar(30) after id;
        • 删除字段:
          • 基本语法:alter table 表名 drop 字段名;
    • 删除数据表:
      • 基本语法:drop table 表名1,表名2,...表名n;
        • 可以一次性删除多张表。

    数据操作

    • 新增数据:
      • 给全字段插入数据,不需要指定字段列表:要求插入的字段与表中字段顺序一致。非数值数据,建议使用单引号。
        • 基本语法:insert into 表名 values (值列表)[,(值列表)...];
        • 例: insert into my_student values ('zhangsan', 'male', 22, 160, 1);
      • 给部分字段插入数据。
        • 基本语法:insert into 表名 (字段列表) values (值列表)[,(值列表)...];
        • 例:insert into my_student (name, gender, age, height, c_id) values ('zhangsan', 'male', 22, 160, 1);
    • 查看数据:
      • 基本语法:select */字段列表 from 表名 [where条件];
      • 例:select * from my_student;
    • 更新数据:
      • 基本语法:update 表名 set 字段名=字段值 [where条件];
      • 例:update my_student set gender='female' where id=1;
    • 删除数据:
      • 基本语法:delete from 表名 [where条件];
      • 例:delete from my_student where id=1;

  • 相关阅读:
    OpenJudge 3765(最大权闭合图,最小割
    多校8-1010 HDU5389 (dp
    570D Codeforces Round #316 (Div. 2) D(dfs序,时间戳,二分
    CodeForces
    hiho一下!
    HDU 4123(树上任意点到其他点的最远距离,rmq
    Oracle创建索引;查询索引
    HBase启动和停止命令
    flink dom4j冲突异常
    flink checkpoint状态储存三种方式选择
  • 原文地址:https://www.cnblogs.com/ronaldo-coder/p/ronaldo.html
Copyright © 2011-2022 走看看