zoukankan      html  css  js  c++  java
  • 69期-Java SE-031_MySQL-001-002 创建表、MySQL数据类型、数据的管理(数据库结构、数据表、数据)、SQL 函数

    ### 创建表
    
    1、创建数据库
    
    ```sql
    create database mstest default character set utf8 collate utf8_general_ci
    ```
    
    2、创建数据表
    
    ```sql
    create table user(
    	id int,
    	name varchar(11)
    )
    ```
    
    Java 数据类型:基本数据类型 byte short int long double float boolean char
    
    ​							引用类型
    
    MySQL 数据类型
    
    - 整数类型:tinyint(1个字节)、smallint(2个字节)、mediumint(3个字节)、int(4个字节)、bigint(8个字节)
    - 一个字节 byte 8位的二进制数
    
    - 浮点类型:float(4个字节)、double(8个字节)
    - 日前和时间类型:datetime、date、timestamp、time、year
      - year(1个字节)取值范围 1901~2155
      - time(3个字节)取值范围 -838:59:59 ~ 838:59:59
      - date(3个字节)取值范围 1000-01-01 ~ 9999-12-31
      - datetime(8个字节)取值范围 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
      - timestamp(4个字节)表示 1970 年 1 月 1 号到现在的毫秒数
    - 字符串类型:char、varchar、text
      - char(M) M 个字节
      - varchar(M) M+1 个字节
      - text 长度+2 个字节
    - 二进制类型:bit、binary、varbinary、tinyblob、blob、mediumblob、longblob
      - bit(M) M个字节
      - binary(M) M个字节
      - varbinary(M) M个字节
      - tinyblob 长度可变的二进制数据,最多是 255 个字节
      - blob 长度可变的二进制数据,最多 2 的 16 次方 -1 个字节
      - mediumblob 最多 2 的 24 次方 -1 个字节
      - longblob 最多 2 的 32 次方 -1 个字节
    
    —》新增
    
    —》修改
    
    —》删除
    
    —》查询
    
    ### 管理数据库结构
    
    数据库
    
    1、创建数据库
    
    ```sql
    create database mstest default character set utf8 collate utf8_general_ci;
    ```
    
    2、删除数据库
    
    ```sql
    drop database mstest;
    ```
    
    3、查看数据库
    
    ```sql
    show databases;
    ```
    
    4、选择数据库
    
    ```sql
    use mstest;
    ```
    
    
    
    数据表
    
    1、创建数据表
    
    ```sql
    create table user(
    	id int,
    	name varchar(11)
    );
    ```
    
    2、删除数据表
    
    ```sql
    drop table user;
    ```
    
    3、查看数据库所有的表
    
    ```sql
    show tables;
    ```
    
    4、查看表结构
    
    ```sql
    desc user;
    ```
    
    5、修改数据表的结构
    
    - 新增一个字段
    
      ```sql
      alter table user add gender varchar(2);
      ```
    
    - 删除一个字段
    
      ```sql
      alter table user drop gender;
      ```
    
    - 修改一个字段
    
      ```sql
      alter table user change name no int;
      ```
    
    
    
    数据
    
    1、添加数据
    
    ```sql
    insert into user(id,name) values(1,"张三");
    ```
    
    2、查询数据
    
    ```sql
    select * from user;
    ```
    
    3、修改数据
    
    ```sql
    update user set id = 2;
    ```
    
    4、删除数据
    
    ```sql
    delete from user;
    ```
    
    
    
    ### SQL 函数
    
    SQL 提供了很多函数,可以完成很复杂的功能,但是一般实际开发中不会用 SQL 来完成复杂的业务操作, SQL 只是一个简单的存储机制,会消耗大量的资源。
    
    Java 程序来完成相对复杂的操作,SQL 只是负责对数据进行保存和管理。
    
    - 数学函数:
    
      - abs(num) 求绝对值
    
      ```sql
      select abs(score) from user where id = 1;
      ```
    
      - floor(num) 返回小于 num 的最大整数
    
      ```sql
      select floor(score) from user where id = 3;
      ```
    
      - ceil(num) 返回大于 num 的最小整数
    
      ```sql
      select ceil(score) from user where id = 2;
      ```
    
    - 字符串函数
    
      - insert(s1,index,len,s2)
    
        s1 中 index 位置开始,长度为 len 的字符替换为 s2
    
        ```sql
        select insert(name,1,2,"小红") from user where id = 1;
        ```
    
      - upper(),ucase() 将字母值变为大写
    
        ```sql
        select ucase(name) from user where id = 4;
        ```
    
      - lower(),lcase() 将字母值变为小写
    
        ```sql
        select lcase(name) from user where id = 4;
        ```
    
      - left(s,len) 返回 s 字符串的前 len 个字符
    
        ```sql
        select left(name,1) from user where id = 1;
        ```
    
      - right(s,len) 返回 s 字符串的后 len 个字符
    
        ```sql
        select right(name,1) from user where id = 1;
        ```
    
      - substring(s, index,len) 截取 s 字符串,从 index 位置开始,长度为 len
    
        ```sql
        select substring(name,2,2) from user where id = 1;
        ```
    
      - reverse() 反序输出
    
        ```sql
        select reverse(name) from user where id = 1;
        ```
    
    - 日期函数:
    
      - curdate()、current_date() 获取当前日期
    
        ```sql
        select current_date();
        ```
    
      - curtime()、current_time() 获取当前时间
    
        ```sql
        select curtime();
        ```
    
      - now() 获取当前日期+时间
    
        ```sql
        select now();
        ```
    
      - datediff(d1,d2) 获取 d1 和 d2 之间相隔的天数
    
        ```sql
        select datediff("2019-02-11","2017-03-16");
        ```
    
      - adddate(d,n) 返回 d 日期之后 n 天的日期
    
        ```sql
        select adddate("2019-02-11",600);
        ```
    
      - subdate(d,n) 返回 d 日期之前 n 天的日期
    
        ```sql
        select subdate("2019-02-11",600);
        ```
    
    - 聚合函数
    
      - count() 根据某个字段统计总记录数
    
        ```java
        select count(*) from user;
        ```
    
      - sum() 计算某个字段值的总和
    
        ```java
        select sum(score) from user;
        ```
    
      - avg() 求某个字段总和的平均值
    
        ```sql
        select avg(score) from user;
        ```
    
      - max() 求某个字段的最大值
    
        ```sql
        select max(score) from user;
        ```
    
      - min() 求某个字段的最小值
    
        ```sql
        select min(score) from user;
        ```
    
      
    
      
    
      
  • 相关阅读:
    IDEA运行测试错误Failed to resolve org.junit.platform:junit-platform-launcher
    mysql索引基本原理
    as3.0声音波形系列03_十组合
    as3.0声音波形系列02_六组合
    as3.0声音波形系列01_八组合
    FiltersEffect(效果)
    AS3 TransitionManager 自带特效类
    as3 判断鼠标移动方向
    AS3代码生成xml方法
    求线段的交点
  • 原文地址:https://www.cnblogs.com/HiJackykun/p/11160754.html
Copyright © 2011-2022 走看看