• 【笔记】MySql中的数据类型和创建数据库!!【1】


        
    在SQL 的笔记中   会在Eg做大篇幅的记录~
        1.创建数据表(图1)
            //记录  字段
            
            
        2.创建数据表的SQL语句模型
            
            DDL
                //创建表的最基本结构 "[]"是可以省略的
                CREATE TABLE [IF NOT EXISTS] 表名称(
                    字段名1 列类型 [属性] [索引]
                    字段名2 列类型 [属性] [索引]
                    ....
                    字段名n 列类型 [属性] [索引]
                )[表类型][表字符集];
                
                //表名称和字段名 需要自己定义{这个不是废话么?...}
                
                建议:
                    1.SQL不区分大小写,但是表就是一个文件名windows不区分,但是linux区分大小写
                    2.自己定的名称最好小写
                    3.SQL语句都大写
            
                方法eg:
            mysql>CREATE TABLE [IF NOT EXISTS] nsers(
              ->id INT,
              ->name CHAR(40)
              ->);
                            
        3.数据值和列类型
            //按空间大小来区分  他是有"量"的
                /*    
                    int $a=10;占多少字节?多了就多~~~
                    100000000*4 不可估量
                */
            A.数值型
                a.整型(整数)            //带符号的        不带符号
                    1)非常小    1字节      -128~127           0~255        {TINYINT
                    2)较小        2字节    -32768~32767     0~65535    {SMALLINT
                    3)中等大小    3字节                    0~16777215    {MEDIUMINT
                    4)标准        4字节        -2147483648~2147483647    {INT
                    5)大        8字节        2^64个                    {BIGINT
                        //Eg2有代码
                        
                b.浮点型(小数)
                    float(M,D)        4字节
                    double(M,D)        8字节                
                    decimal(M,D)    M+2个字节 // 定点数  以字符串形式存放所以说就是以字符串得形式存放浮点数
                            [char]                     [varchar]
                            ''             4字节        ''                1字节
                            'sdf'          4字节        'asdasda'        1+7=8字节
                            'sdffsdfsdf'   4字节        'asdasdfsdfa'    1+11=12字节
                            两个检索方式不同,,,char 会删除最后空格  varchar 不会删除最后的空格;
                            但是 char 速度快  用于变化不大的存储
                                varchar 速度没有 char//Eg3有代码
                    text    文本数据 变长     (文章)    2^16-1
                                
                                MEDIUMTEXT
                                LONGTEXT    2^32-1
                    blob    二进制数据 变长,(压缩包 电影 相片)
                                MEDIUMVLOB
                                LONGBLOD    2^32-1
                                
                    
                        
            B.字符型
                //"mysql"   'mysql'
                char(m)        255    定长
                varchar(m)    255    变长
                    //Eg4
                    
                ENUM    枚举    1或者2字                65535
                        ENUM("one","two","three","four")//只能用这四个  用下标
                            //Eg5
                SET        集合    1,2,3,4,8 字节
                        //枚举和集合的区别...枚举一次只能用一个值 ,,集合可以用多个值
                
                
            C.日期型
                DATE            YYYY-MM-DD 
                TIME            hh:mm:ss
                DATETIME        YYYY-MM-DD hh:mm:ss
                TIMESTAMP        YYYYMMDDhhmmss
                YEAR            YYYY
                
                创建表时候最好不要用(1970-1-1 0:0:0)是个整数
                
                用整数保存时间 time();
                    int??用它保存时间
        
    收货:
        SHOW TABLES//看表
        SESC users(自己创建的)//看表结构
        
        
    Eg_1://显示~进入~创建
    
        show databases;//显示数据库
        create database if exists zp;//创建数据库    
        use zp;//进入数据库    
        create table if exists users(
            id INT,
            name CHAR(40)
        );//创建数据表    
        show tables;//显示数据表    
        desc users;//显示表结构
    -----+--------------------------------------------------------------+
         |        //show databases显示数据库    [这是查看有多少数据库的       |
         |            +--------------------+                            |
         |            | Database           |                            |
         |            +--------------------+                            |
         |            | information_schema |                            |
         |            | mysql              |                            |
         |            | phpmyadmin         |                            |                                
         |            | test               |                            |
         |            | zp                 |                            |
         |            +--------------------+                            |
    -----+--------------------------------------------------------------+
         |        //show tables显示数据表    [这是数据库里面的               |
         |            +--------------+                                  |
         |            | Tables_in_zp |                                  |
         |            +--------------+                                  |
         |            | tab1         |                                  |
         |            | users        |                                  |
         |            +--------------+                                  |
    -----+--------------------------------------------------------------+
         |        //desc users显示表结构     [这是数据表里面的东东            |
         |       +-------+----------+------+-----+---------+-------+    |
         |       | Field | Type     | Null | Key | Default | Extra |    |
         |       +-------+----------+------+-----+---------+-------+    |
         |       | id    | int(11)  | YES  |     | NULL    |       |    |
         |       | name  | char(40) | YES  |     | NULL    |       |    |
         |       +-------+----------+------+-----+---------+-------+    |
    -----+--------------------------------------------------------------+
        /*-----数据库->数据表->数据表结构-----*/
             
    Eg_2://创建一个表的还有整形的存储
        
        create table tab1(id tinyint);
        insert into tab1(id) value(100);
        insert into tab1(id) value(200);
        insert into tab1(id) value(-200);
        select * from tab1;//这个是查值,,desc是查结构
            ↓↓↓   ↓↓↓↓↓↓   ↓↓↓↓↓↓
                +------+
                | id   |
                +------+
                |    1 |
                |  127 |
                | -128 |
                +------+//tinyint不能大于12
    
            
    Eg_3:
        
        create table tab3(price float(5,2));
        insert into tab3(price) value(123.321);
        insert into tab3(price) value(999.321);
        insert into tab3(price) value(1000.129);//insert into tab3(price) value(111,3333);
        select * from  tab3;
            ↓↓↓   ↓↓↓↓↓↓   ↓↓↓↓↓↓
                +--------+
                | price  |
                +--------+
                | 123.32 |
                | 999.32 |
                | 999.15 |
                +--------+//自己找规律  浮点数不可以用"="比较
    Eg_4:
        create table tab5(name char(4),desn varchar(4));
        insert into tab5 values('abcsd','sdfsdf');//会警告但是会保存
        
    
    Eg_5:
        create table tab9(one enum('a','b','c','d'),two set('a','b','c','d'));
            //insert into的时候  emum只可以存一个        set可以存多个
        
        
    Eg_6:
        create table tab10(one date ,two time,three datetime,four timestamp,five year));
                DATE            YYYY-MM-DD 
                TIME            hh:mm:ss
                DATETIME        YYYY-MM-DD hh:mm:ss
                TIMESTAMP        YYYYMMDDhhmmss
                YEAR            YYYY//存放只能按照上面格式来存
            
    
            
    错误总结:
        ERROR 1064 (42000): You have an error in your SQL syntax; 
        check the manual that corresponds to your MySQL server version for the right syntax to use near 'creat
        databases if exists t' at line 1
            
            错误1064(42000):你有一个错误在您的SQL语法;
            检查手册对应你的MySQL服务器版本为正确的语法使用近"xxxxxxS"
            在1行
    小命令:
    /*  s->命令
            mysql  Ver 14.14 Distrib 6.0.4-alpha, for Win32 (ia32)
    
            Connection id:          2
            Current database:        zp{这里是进入哪个表~}                            
            Current user:           root@localhost
            SSL:                    Not in use
            Using delimiter:        ;
            Server version:         6.0.4-alpha-community-log MySQL Community Server (GPL)
            Protocol version:       10
            Connection:             localhost via TCP/IP
            Server characterset:    utf8
            Db     characterset:    utf8
            Client characterset:    utf8
            Conn.  characterset:    utf8
            TCP port:               3306
            Uptime:                 6 hours 58 min 43 sec{开的时间}
    
            Threads: 1  Questions: 12  Slow queries: 0  Opens: 15  Flush tables: 1  Open tab
            les: 0  Queries per second avg: 0.0
    */
    
    /*    c
            退出以"->"模式的命令
    */
    
    /*    ?
            很牛逼的一个指令哦  格式:
                                "? creatc"
    */
  • 相关阅读:
    函数—函数进阶(二)
    函数—函数进阶(一)
    函数(三)
    函数(二)
    函数(一)
    人丑就要多读书、三元运算、文件处理
    第二章练习题
    Python bytes类型介绍、Python3与2字符串的区别、Python3与2编码总结
    进制运算、字符编码、Python3的执行流程
    去除inline-block元素间间距,比较靠谱的两种办法
  • 原文地址:https://www.cnblogs.com/xiguayizu/p/3343393.html
Copyright © 2020-2023  润新知