2021-01-25 MySQL(二)

学习内容:

MySQL(二)

前言

学习 JAVA 大数据:“钱”景无限

文章目录

一:数据库的创建和数据表的创建

二:数据表增删改查

一:数据库的创建和数据表的创建

1. 数据库的创建

   A:先删除再创建(注意删除前查看下,不要删除掉有用的数据库)

     Drop database if exists 数据库名;

     提示: drop table if exists 表名;

     Create database 数据库名 charset utf8 或gbk 或gbk2312等

     举例:Drop database if exists db1;  #如果db1数据库存在,则删掉db1

     #创建数据库db1,设置字符编码为utf8(国际编码)

     Create database db1 charset utf8;

  B:直接创建

     Create database 数据库名 charset utf8; 或gbk 或gbk2312等

2. 数据类型

2.1 数字类型

     *unsigned 无符号,只存储正数;(属于数据的约束)

      举例: unsigned int(11) id ;

           存储11位内正数

     *zerofill 配合显示位数,不足补0

     验证 unsigned 和zerofill;

     步骤1: 在db1 里创建表test

         语法:

            Create table 表名(字段名 整数类型字段(长度) unsigned )

         注意: 创建表要先进入库,因为是在库里建表

         示例:

           #进入数据库db1

           Use db1;

           #在db1里创建test并给字段id设置了unsigned约束

           Create table test (Id int(11) unsigned, No int(11) zerofill) ;

      步骤2:测试这个unsigned约束,我们往表里插入数据

           #往数据表test里插入一行数据,给第一个字段-1.第二个字段100

           Insert into test values(-1),(100);

           ()一个括号表示一行

提示:ERROR 1136 (21S01): Column count doesn't match value count at row 1

            

/*往数据表test里插入1行数据,

第1个数据是-1,第2个数据是100

    */

Insert into test values(-1 , 100);

提示:ERROR 1264 (22003): Out of range value for column 'Id' at row 1

 

      /*插曲*/

      数据库中的注释有三种;

      单行注释有-- 注释内容(记得--后加空格)和# 注释内容

      多行注释有/* 注释内容*/

     数字的整数类型

     *tinyint

     *smallint

     *int 常用,默认11位

     *bigint

     提示: 以上整数类型无非是约束存值的大小

     数字的小数类型

     *float

     *double (运算不精确)

     *decimal 常用

        举例: decimal(8,3)

        总共8位,整数5位,小数3位

2.2 字符串类型

     *char  char的范围最后在1~255

      举例char(6)

           存储的时候,如果存入”你好”,则剩余4个空位,这4个空位会补上空格;

           则实际存储为你好    

     *varchar  范围是(1-65535)

      举例 varchar(6)

           存储的时候是”你好”,则实际存储为你好

      注意:varchar的存储效率和读取效率没有char高,但是varchar长期使用必然比char更节省空间

     *text(文本) 范围是(1-65535) 相对比较少用

2.3 时间类型

     *date 存储年月日

     *time 存储时分秒

     *datetime 年月日时分秒

     *timestamp 时间戳(我们插入数据插入null,则会自动帮我们获取当前的时间进行存储)

     提示: 时间戳是指格林威治时间1970年01月01日00时00分00秒 (北京时间1970年01月01日08时00分00秒)起至现在的总秒数  

二:数据表增删改查

1.增(插入)

语法:

    A:指定插入

     Insert into 表名(

字段1,字段2........字段N)

                   Values(

对应字段1的数据,

对应字段2的数据,

..............................

对应字段N的数据)

         举例:

             已有表staff,字段有:

                             Id int

                             Name varchar(20)

                             Gender char(2)

                             Salary decimal(7,2)

              如果我们指定给id和name插入数据,则应该这么写:

              #单条数据的指定插入

               Insert into staff(id,name) values (1,’刘德华’);

              #多条数据的指定插入

               Insert into staff(id,name) values (2,’王德华’),(3,’甘德华’);

 

    B:单条数据插入

    C:多条数据插入

    D:全表插入(默认选择所有的字段进行插入)

      Insert into 表名 values(

对应字段1的数据,

对应字段2的数据,

..............................

对应字段N的数据)

插话:删除,修改,查询,都要按条件执行,则我们需要学一个条件:

条件的结构:

    Where  字段的定位;

例如:where id = 1;  

例如:where id =2 and name =’威廉’;

2.删(删除)

语法: delete from 表 条件;

例如:delete from staff where id =1;

例如:delete from staff where id =2 and name =’威廉’;

3. 改(修改)

语法:update 表名 set 字段=新的值 where 条件

例如:update db2.staff set name=李 where id=1 and name=张

4. 查(查询)

a.查询所有字段数据语法:

Select  *  from 表名 where 条件;

例如: select * from staff where id >2;

b.查询指定字段数据语法:

  Select 字段1,.....字段N from 表名 where 条件;

  例如: select id,name from staff where id <3;

c.查看全表数据语法:

  Select  *  from 表名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值