zoukankan      html  css  js  c++  java
  • 浅谈mysql

    浅谈mysql

    什么是数据库?

    1. 数据:表示信息的符号(数值,字符串,音频,视频)
    2. 数据库:数据的集合

    数据库

    1. 创建数据库:create database 数据库名
    2. 选择数据库:use database
    3. 删除数据库:drop 数据库名

    表(结构)

    1. 创建:
    create table tablename(column_name,column_type) Engine=InnoDB Default charset=utf8
    例如:
    create table if not exists test(
       id int unsigned auto_increment, 
       title varchar(100) not null,
       author varchar(40) not null,
       PRIMARY KEY (id)
    )Engine=InnoDB DEFAULT CHARSET=utf8;
    
    1. 删除:drop table tablename
    2. 修改:
    • 删除某字段:alter table tablename drop 字段名
    • 添加某字段并定义数据类型:alter table tablename add 字段名 int
    • 修改字段类型:alter table tablename modify c char(10) 把c字段数据类型改为char(10)
    • 修改字段名称:alter table tablename i j int 把i字段更名为j数据类型改为int
    • 修改表名:alter table tablename rename to new_tablename
    • 修改字段默认值:alter table tablename alter i set default 100 把i字段的默认值设为100

    表(数据)

    1. 增: insert into tablename(field1,field2...)values(value1,value2...)
    2. 删:delete from tablename where...
    3. 改: update tablename set field1=new_value1,field2=new_value2 where...
    4. 查: select column_name from tablename where...

    mysql数据类型

    1. 数值类型:int,float,double等
    2. 日期和时间类型:date,year,time,timestamp等
    3. 字符串类型:char,varchar等

    mysql 运算符

    1. 算数运算符:
    运算符 作用
    + 加法
    - 减法
    * 乘法
    / 除法
    % 取余
    1. 比较运算符:
    符号 描述 备注
    = 等于
    <>, != 不等于
    > 大于
    < 小于
    <= 小于等于
    >= 大于等于
    BETWEEN 在两值之间 >=min&&<=max
    NOT BETWEEN 不在两值之间
    IN 在集合中
    NOT IN 不在集合中
    <=> 严格比较两个NULL值是否相等 两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0
    LIKE 模糊匹配
    REGEXP 或 RLIKE 正则式匹配
    IS NULL 为空
    IS NOT NULL 不为空
    1. 逻辑运算符
    运算符号 作用
    NOT 或 ! 逻辑非
    AND 逻辑与
    OR 逻辑或
    XOR 逻辑异或
    1. 位运算符

    位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。

    运算符号 作用
    & 按位与
    | 按位或
    ^ 按位异或
    ! 取反
    << 左移
    >> 右移

    union的用法

    1. 删除重复数据
    2. 语法:
    select expression1,expression2...from tablename where[conditions] union [All|Distinct] select expression1,expression2...from tablename where[conditions]
    

    排序:

    1. Asc 升序,desc 降序
    2. 语法:
    select field1.field2...from tablename1,tablename2...order by field1[ASC|desc]默认是升序
    

    分组:group by

    语法:

    select column_name, function(column_name)
    from table_name
    where column_name operator value
    group by column_name;
    

    连接的使用

    1. inner join:获取两个表中字段匹配关系的记录
    2. left join:获取左表所有记录,即使右表没有对应匹配的记录
    3. right join:与left join相反

    null值的处理

    1. is null
    2. is not null

    事务

    1. begin 或 start transaction开始事务
    2. rollback 或 rollback work事务回滚
    3. commit 或 commit work 事务确认

    创建索引

    语法:

    create index index_name on tablename(username(length))
    

    临时表

    create temporary table tablename(column_name,column_type) Engine=InnoDB Default charset=utf8
    例如:
    create temporary table  test(
       id int unsigned auto_increment, 
       title varchar(100) not null,
       author varchar(40) not null,
       PRIMARY KEY (id)
    )Engine=InnoDB DEFAULT CHARSET=utf8;
    

    复制表的步骤

    1. show create table tablename:获取数据表的完整结构;
    2. 修改sql语句的数据表名,并执行sql语句
    3. 拷贝数据:insert into new tablename(field1,field2...)select field1,field2...from old tablename
  • 相关阅读:
    vscode Nodejs 调试 相关总结
    编程语言中的foo,bar到底是什么
    带T和带Z的相关时间是什么 及关于时间的一些知识
    自定义Firefox的 "切换previous标签页"快捷键, 增加"切回last标签页"快捷键
    开始使用Firefox
    Fork-Join 原理深入分析(二)
    Fork-Join分治编程介绍(一)
    Executor框架(七)Future 接口、FutureTask类
    Executor框架(六)CompletionService 接口
    Executor框架(五)Executors工厂类
  • 原文地址:https://www.cnblogs.com/emptyCup/p/13132587.html
Copyright © 2011-2022 走看看