1、SQL命令的使用规则
       1、每条命令必须以 ; 结尾
       2、SQL命令不区分字母大小写
       3、使用 \c 终止SQL命令的执行

2、库的管理
     1、库的基本操作
          1、查看已有的库
               show databases;
          2、创建库(指定字符集,默认为latin1)
               create database 库名 default charset=utf8;
          3、查看创建库的语句
               show create database 库名;
          4、查看当前所在库
               select database();
          5、切换库
               use 库名;
          6、查看库中已有表
              show tables;
          7、删除库
              drop database 库名;

          8. 数据库目录:/var/lib/mysql

      2、库的命名规则
           1、可以使用数字、字母、_,但是不能使用纯数字
           2、库名区分字母大小写
          3、库名具有唯一性
          4、不能使用特殊字符和mysql的关键字

3、表的管理
      1、表的基本操作
           1、创建表(指定字符集)
               create table 表名(
                     字段名 数据类型,
                     字段名 数据类型,
                     ... ...
                  )default charset=utf8;
           2、查看创建表的语句(字符集)
                 show create table 表名;
          3、查看表结构
                desc 表名;
          4、删除表
               drop table 表名;
   2、表的命名规则(同库的命名规则)


    3、注意
          1、所有的数据都是以文件形式存放在数据库目录下
          
4、表记录管理
     1、在表中插入记录
            insert into 表名 values(值1),(值2),...,(值N);
     2、查询表记录
           1、select * from 表名 [where 条件];
                select * from t1;
                select * from t1 where name="Green";
    2、select 字段1,字段2,... from 表名 [where 条件];

5、更改库、表的默认字符集
      1、方法
          通过更改MySQL配置文件来实现
      2、步骤

         1、获取root用户权限
              sudo -i
        2、cd到mysql配置文件所在路径
             cd /etc/mysql/mysql.conf.d/
        3、把配置文件mysqld.cnf复制一份,mysqld.cnf.bak
             cp mysqld.cnf mysqld.cnf.bak
        4、vi打开配置文件mysqld.cnf
             vi mysqld.cnf
         在[mysqld]下写入如下语句:
            character_set_server=utf8
        5、重启MySQL服务
            sudo /etc/init.d/mysql restart
6、客户端把数据存储到数据库服务器上的过程
        1、连接到数据库服务器 mysql -uroot -p123456
        2、选择一个库 use 库名
        3、创建表或者修改表
        4、断开与数据库服务器的连接 exit; | quit; | \q;
7、数据类型
         1、数值类型(有符号signed和无符号unsigned)
                1、整型
                      1、int 大整型(4个字节)
                           取值范围:2**32 - 1(42亿多)
                      2、tinyint 微小整型(1个字节)
                           1、有符号(signed默认): -128 ~ 127
                           2、无符号(unsigned): 0 ~ 255
                      3、smallint 小整型(2个字节)
                         取值范围:0 ~ 65535
                      4、bigint 极大整型(8个字节)
                        取值范围:0 ~ 2**64 - 1
               2、浮点型
                      1、float(4个字节,最多显示7个有效位)
                            1、用法
                                   字段名 float(m,n) m->总位数,n->小数位位数
                                   float(5,2) 取值范围? -999.99 ~ 999.99
                            2、注意
                                   1、浮点型插入整数时会自动补全小数位
                                   2、小数位如果多于指定的位数,会对下一位进行四舍五入
                    2、double(8个字节,最多显示15个有效位)
                           1、用法
                                 double(m,n)
                    3、decimal(M+2个字节,最多显示28个有效位)
                          1、用法
                                字段名 decimal(M,D)
        2、字符类型
                   1、char(定长)
                         1、宽度取值范围:1~255
                         2、不给定宽度默认宽度为1
                   2、varchar(变长)
                          1、取值范围:1~65535
                          2、注意
                                   1、varchar没有默认宽度,必须给定一个宽度值
                                   2、char、varchar使用时都给定宽度,但不要超过各自的范围
                                   3、char和varchar的特点
                 1、char(定长)
                    浪费存储空间,但是性能高
                 2、varchar(变长)
                    节省存储空间,但是性能低

        3、枚举类型
                1、定义
                     字段值只能在列举的范围内去选择
                2、enum 单选(最多有65535个不同的值)
                      字段名 enum(值1,值2,...)
               3、set 多选(最多有64个不同的值)
                    字段名 set(值1,值2,...)
                    插入记录时 "Python,MySQL,Study"
4、日期时间类型
           1、year :年 YYYY
           2、date :日期 YYYYMMDD
           3 、time :时间 HHMMSS
           4、datetime :日期时间 YYYYMMDDHHMMSS
           5、timestamp:日期时间 YYYYMMDDHHMMSS

6、注意
1、插入记录时datetime字段不给值默认返回NULL
2、插入记录时timestamp字段不给值默认返回系统当前时间

posted on 2018-07-28 21:47  python我的最爱  阅读(262)  评论(0编辑  收藏  举报