美文网首页
MySQL基本

MySQL基本

作者: 漓江塔塔主 | 来源:发表于2018-08-02 16:11 被阅读0次

    数据库的意义

    在学习python以来,写了一点程序,虽然也只是个人用的,但是数据的存储已经开始变得麻烦起来。而且自己的写的小小程序自然可以把数据存到本机,但是一旦是立足于网络通讯的软件,自然要有一个专门的存储数据的地方。而对于这一点,数据库也就应运而生了。
    数据库的功能大致就包括

    a. 将数据保存到文件或内存
    b. 接收特定的命令,然后对文件进行相应的操作

    而这之中的特定的命令,对应到MySQL自然就是SQL语句,所以相应的想要学习数据库,除了运行原理之外,首先得要学会sql语句。

    一点区分

    数据库有许多的类型,通过我个人粗浅的了解,大致分为关系型数据库与非关系型数据库。而既然有分类,那自然就有区别,虽然主要学习mysql,但我觉得还是应当了解一点两者的区别。

    区别
    *上述图片非原创,转载于https://blog.csdn.net/lijinqi1987/article/details/51823506

    数据类型

    数据库的安装与连接等一系列操作,这里就不在赘述,要想了解sql语句的规则,首先要了解它所支持的数据类型。

    数字:

    • unsigned与signed表示有无符号
    • 整数:tinyint int bigint
    • 浮点数:float double 不精准,长度不长的可以用
      decimal :内部存的时候按照字符串来存。非常精确

    字符串

    • char,varchar:后面必须加括号,内部表示长度(最长255字符)
      char类型如果没有达到规定的长度,就会传入空值,让他占满规定长度。
      varchaar传入空值,节省空间,但是速度没有char快。因为char的长度都是固定的,所以查找速度快。(非常重要的一点区别)
      PS: 所以一般创建数据表时,定长(char)列往前放,变长的往后放。
      定长举例:手机号码,变长:人物地址。
      text:长度比255长得多,最长可超过65535.
      一般来说数据库上传文件: 文件存硬盘,db存路径

    时间类型

    • DATETIME YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59 Y)
    • TIMESTAMP YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)

    其它

    *枚举 enum 表示以后的取值只能在枚举中给出的值中取

    • 集合 set 同枚举类似,但是取值可以取多个值,但必须都在集合类型的值之中。

    简单的语句

    操作文件夹

        create database ***;
        create database *** default charset utf8; 给定默认编码以支持中文
        show databases;#展示数据库
        drop database ***;#删除数据库
    

    操作文件

            show tables;#展示表格
            #创建表格
     
            create table t1(
                列名 类型 null,
                列名 类型 not null,
                列名 类型 not null auto_increment primary key,
                id int,
                name char(10)
            )engine=innodb default charset=utf8;
                # innodb 支持事务,原子性操作
                # myisam myisam
                #default charset=utf8; 给定默认编码
                auto_increment 表示:自增
                primary key:  表示 约束(不能重复且不能为空); 加速查找
                not null: 是否为空
            #清空表:
                delete from t1;不会清空索引
                truncate table t1;速度快,并且会清空索引
            #删除表:
                drop table t1;
    

    操作文件中内容

        插入数据:
            insert into **(列名,列名) values(**,**);
        删除:
            delete from ** where **<6
        修改:
            update ** set age=18;
            update ** set age=18 where age=17;
        查看数据:
            select * from**;
    

    相关文章

      网友评论

          本文标题:MySQL基本

          本文链接:https://www.haomeiwen.com/subject/bcnlvftx.html