欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL数据库笔记二:数据类型及数据库操作

程序员文章站 2022-07-11 17:14:10
三、MySQL数据库数据类型 四、MySQL数据库中的数据的使用 1.数据定义语言(DDL) 数据库的操作 数据表的操作 2.数据操作语言(DML):用于操作数据库对象中所包含的数据 ......

三、mysql数据库数据类型

mysql数据库中支持多种数据类型:数值型、字符型、日期型


    常用的数据类型:
        1.整型
            int:整形,存储整数
            int(m):m表示预期值。与存储大小和数值的范围无关。

            id  int                     10000
            id  int(3)  zerofill        10000

            zerofill 零填充        会在左侧补0


        2.浮点型
            float[(m,d)]:浮点型,存储小数
                salary float(6,2):表示最多6位,小数占2位,最大存储数值为:9999.99

            double:浮点型,小数

        3.字符型
            char(m):固定长度的字符串类型        name char(5)      '1    '
            varchar(m):可变长度的字符串类型(推荐)     name varchar(5)   '1'
            text:大的字符串类型,4g字符串
            blob:字节类型


        4.日期
            date:日期类型,年月日       yyyy-mm-dd 日期格式
            time:时间类型,时分秒       hh:mm:ss    时间格式
            year:年份,年           yyyy格式的年份值
            timestamp:年月日 时分秒  ,时间戳 2037年的某一个时刻  yyyymmddhhmmss
            datetime:年月日 时分秒    yy-mm-dd hh:mm:ss



        5:整型

            tinyint         1       -128~127
            smallint        2       32767/65535
            int             4       21亿
            bigint          8       兆
            mediumint       3       八百多万/一千六百多万



    注意:选择合适的数据类型,是数据库优化的一部分。 short it better 原则。

四、mysql数据库中的数据的使用

<1>sql概述
    结构化查询语言,可以用于查询和修改关系数据库的语言。

    sql语言,是数据库的核心语言,被iso采纳为数据库语言的国际标准,几乎所有的数据库都支持sql

<2>组成
        数据定义语言(data definition language,ddl):用于管理和一定数据对象,包括数据库,数据表等。
            create:创建数据库和表
            drop:删除表对象
            alter:修改表结果

        数据操作语言(data manipulation language,dml):用于操作数据库对象中所包含的数据
            insert:添加数据
            delete:删除数据
            update:修改数据 


        数据查询语言(data query language,dql):用于查询数据库对象中所包含的数据
            select:查询数据

        事务控制语言(transaction control language,tcl):包括提交事务、事务回滚
            commit:提交事务
            rollback:事务回滚
            savepoint:事务节点

        数据控制语言(data control language,dcl):用来管理数据库中,包括管理权限以及数据更改
            grant:授权
            revoke:收回权限

  1.数据定义语言(ddl)

   数据库的操作

<1>创建数据库
    语法格式: create database [if not exists] 数据库名称 [character set [=] 编码名称];

        例如:
             create database tlxy;
             create database if not exists tlxy;//忽视错误,显示警告
             show warnings;//查看警告
             create database db character set gbk;//指定创建的数据库的字符集


<2>查询数据库
        语法格式:show databases;//查看所有的数据库

                show create database 数据库名称;//查询某一个已经创建的数据库

<3>修改数据库
        语法格式:
            alter database [if not exists] 数据库名称 [character set 新的编码名称]

        例如:
            alter database db character set = utf8;

<4>删除数据库
        语法格式:
            drop database 数据库名称;

        例如:
            drop database db;//删除数据库db

   数据表的操作

<1>创建数据表
    使用一个数据库:use 数据库名称;
    查看当前正在使用的数据库:select database();


    创建数据表语法:
        create table 表名(
            字段名 字段类型    约束,
            字段名 字段类型    约束,
            ........

        );


    例如: 创建用户表 

        create table user(
            uid int,
            username varchar(32),
            password varchar(32),
            birthday date,
            sex     enum('男','女')
        );          


<2>查询数据表
        show tables;显示当前数据库中所有的数据表
        show columns from 表名;//查询某张表表结构
        desc 表名; //查询某张表表结构


<3>修改数据表
    3.1 修改表名
        方式一:alter table 表名 rename [as|to] 新表名;
            例如:alter table user rename us;
        方式二:rename table 旧表名 to 新表名 [,旧表名 to 新表名,..........]
            例如:rename table us to user;

    3.2 添加列
        语法格式:
            alter table 表名 add [column] 列名 列定义 [first|after 列名];
        例如:
             alter table user add sal double after password;//在指定的列后面添加新的列
             alter table user add phone varchar(32); //默认在列的最后添加新的列
             alter table user add hobby varchar(32) first;//在列的最前面添加新的列

    3.3 修改列定义
            语法格式:
                alter table 表名 modify 列名 列定义 [first|after 列名];

            例如:
                 alter table user modify sex varchar(32) first;

    3.4 修改列名
            语法格式:
                alter table 表名 change 列的列名 新的列名  新的列定义   [first|after 列名];
            例如:
                alter table user change hobby address varchar(20) after sal;

    3.5 删除列
            语法格式:   
                alter table 表名 drop [column] 列名;
            例如:
                alter table user drop phone;

<4>删除数据表
        语法格式:
            drop table 表名;

        例如:
            drop table user;

  2.数据操作语言(dml):用于操作数据库对象中所包含的数据

基本查询数据的语句: select * from 表名;


<1>插入操作
    语法格式:insert [into] 表名 [(列名1,列名2,.....)]    values|value (数值1|表达式,数值2|表达式,....);

    例如:
        insert into teacher (id,note) values ('1','先挣它一个亿.');
        insert into teacher value (2,'wangjianlin','xian zheng ta yi ge yi');

<2>删除操作
    语法格式:
        delete from 表名 where 条件;

    例如:
        delete from teacher where id=1;//指定条件删除记录
        delete from teacher;//不带条件删除,删除所有的记录


    扩充:
        truncate table 表名; ---------- 清空表,会清空表中所有的数据


    面试题:
        delete删除与truncate 有什么区别??

            删除方式:
                delete :一条一条的删除,不清清空 auto_increment 记录数
                truncate 直接将表中的数据进行清空,  auto_increment自增将被重置,从新开始


<3>修改操作
        语法格式:
            update 表名 set 列名1=数值,列名2=数值,..... where 条件;


        例如:
            update teacher set name='xiaosan',note='ming nian zai zhao yi ge' where id=1;//带条件修该,修改指定记录

            update teacher set name='xiaosi';//不带条件  修改表中所有数据