zoukankan      html  css  js  c++  java
  • 重温 Mysql and 表单

    1、双倍浮动BUG:

    描述:块状元素设置了float属性后,又设置了横向的margin值,在IE6下显示的margin值要比设置的值大;

    解决方案:给float的元素添加 display:inline;将其转换为内联元素;

    2、表单元素行高不一致:

    解决方案:

      ①、给表单元素添加vertical-align:middle;

      ②、给表单元素添加float:left;

    3、IE6(默认16px为最小)不识别较小高度的标签(一般为10px):

    解决方案:

      ①、给标签添加overflow:hidden;

      ②、给标签添加font-size:0;

    4、图片添加超链接时,在IE浏览器中会有蓝色的边框:

    解决方案:

      给图片添加border:0或者border:none;

    5、最小高度min-height不兼容IE6;

    解决方案:

      ①、min-height:100px;_height:100px;

      ②、min-height:100px;height:auto!important;height:100px;

    6、图片默认有间隙:

    解决方案:

      ①、给img添加float属性;

      ②、给img添加display:block;

    7、按钮默认大小不一:

    解决方案:

      ①、如果按钮是一张图片,直接用背景图作为按钮图片;

      ②、用a标记模拟按钮,使用JS实现其他功能;

    8、百分比BUG:

    描述:父元素设置100%,子元素各50%,在IE6下,50%+50%大于100%;

    解决方案:

      给右边的浮动元素添加clear:right;

    9、鼠标指针BUG:

      cursor:hand 只有IE浏览器识别;

      cursor:pointer;IE及以上浏览器和其他浏览器都识别(手型);

    10、透明度设置,IE不识别opacity属性:

    解决方案:

      标准写法:opacity:value;(取值范围0-1);

      兼容IE浏览器 filter:alpha(opacity=value);(取值范围1-100);

    11、上下margin重叠问题:

    描述:给上面的元素设置margin-bottom,给下面的元素设置margin-top,只能识别其中较大的那个值;

    解决方案:  

      ①、margin-top和margin-bottom 只设置其中一个值;

      ②、给其中一个元素再包裹一个盒子,并设置over-flow:hidden;

    12、给子元素设置margin-top.应用在了父元素上:

    解决方案:

      ①、把给子元素设置的margin-top改为给父元素设置padding-top;

      ②、给父元素设置1px的border,即border-top:1px solid transparent;

      ③、给父元素设置over-flow:hidden;

      ④、给父元素设置float:left;

     

    SQL(Structred Query Language)结构化查询语言:和数据库交互的语言,进行数据库管理的语言。

    一、数据库的操作:

      1、查询所有数据库:

      show databases;

      2、创建数据库:

      create database 数据库名 [default] character set 字符集编码(一般为utf8);

      3、查看数据库创建语句:

      show  create database 数据库名;

      4、删除数据库:

      drop database 数据库名;

      5、修改数据库(修改字符编码):

      alter database 数据库名 default character set 新的字符集编码;

    二、数据库中表的管理操作:(先选择数据库:use 数据库名)

      1、查看所有表:

      show tables;

      2、创建表:

      create table 表名(列名 列类型,列名 列类型,.....);

      3、查看表结构:

      desc 表名;

      4、删除表:

      drop table 表名;

      5、修改表:

      ①、添加字段:

      alter table 表名 add column 字段名 字段类型;

      ②、删除字段:

      alter table 表名 drop column 字段名;

      ③、修改字段名称:

      alter table 表名 change column 旧字段名  新字段名 字段类型;

      ④、修改字段类型:

      alter table 表名 modify column 字段名 字段类型;

      ⑤、修改表名称:

      alter table 旧表名 rename to 新表名;

    三、表中操作:

    1、增加数据(依次):

    insert into 表名 values (数据,......);

      插入部分数据:

    insert into 表名(字段名1,字段名2)values (数据1,数据2);

    2、修改数据:

    update 表名 set 字段名= 值,字段名=值 where 条件

    3、删除数据:

    delete from 表名 where 条件;

      全表删除方式:

        ①、delete  from 表名;(只删数据,不删表的约束)

        ②、truncate table 表名;(数据和约束彻底删除)

    4、查询数据:

      ①、查询所有列:

    select * from 表名;

      ②、查询指定列:

    select 字段名,字段名,...from 表名;

      ③、查询时去除重复记录:

    select distinct 字段名 from 表名;

      ④、条件查询:

    select * from 表名 where 条件;

     (null:表示没有值;is null

      ’‘:是空字符串,有值,但是值是空字符串; =’‘)

    (模糊条件like:         %:表示任意个字符;_ : 表示一个字符)

      ⑤、聚合查询:(count    sum   avg   max   min  )

    select count(*) from 表名;

      ⑥、分页查询:

    select * from  表名 limit 起始行,查询几行;

      ⑦、查询排序:(asc 顺序,desc 倒序)

    select * from 表名 order by 字段名 asc/desc;

      ⑧、分组查询并筛选:(按字段名分组并统计个数,然后按条件筛选)

    select 字段名,count (*) from 表名 group by 字段名 having 条件;

     5、连接查询(多表查询):

      ①、交叉连接(笛卡尔积)

    select * from 表1 [cross] join 表2 ;

      ②、内连接:

    select *  from 表1 [inner] join 表2  on 表1.字段1=表2.字段2 where 条件 ;  

      ③、左【外】连接:

    select *  from 表1 left  [outer] join 表2  on 条件 ;  

         ④、右【外】连接:

    select *  from 表1 right  [outer] join 表2  on 条件 ;  

    6、子查询:(此条件通常关联到另外的一个表中)

    select 字段名1 from 表名 where 字段名2(或者字段名1)in (条件);

    7、联合查询(union):

    select 语句1
    union
    select 语句2 ;

    数据约束

    1、创建表时数据默认值的设置:(默认值可以为NULL)

    create table 表名(
            字段名 字段类型 default 默认值 ,
            字段名 字段类型
    )
            

    2、数据的非空限制:

    create table 表名(
            字段名 字段类型 not null,
            字段名 字段类型
    )

    3、数据的唯一性的设置:(可以插入多个NULL,不是重复,是都没有值)

    create table 表名(
            字段名 字段类型 unique,
            字段名 字段类型
    )

    4、主键:(非空+唯一)

    create table 表名(
            字段名 字段类型 primary key ,
            字段名 字段类型,
            字段名 字段类型       
    )    

    5、自增长(必须是int类型,而且是主键)

    create table 表名(
            字段名 字段类型 primary key auto_increment,
            字段名 字段类型,
            字段名 字段类型       
    )    

    6、外键约束(减少冗余):(正常字段1与字段5名一样,如一个为部门表,一个为员工表)

    复制代码
    create table 表名1(
            字段名1 字段类型1 primary key ,
            字段名2 字段类型2
    )    
    
    
    create table 表名2(
            字段名3 字段类型3 primary key ,
            字段名4 字段类型4,
            字段名5 字段类型5
           constraint 外键名字(如 fk_表1_表2)foreign key (字段名5) references 表1(字段1)                      
    )      
    复制代码

    添加数据先添加主表;删除及修改数据时先删除、修改副表 

  • 相关阅读:
    第九章 类的定义属性和方法
    第八章 函数作用域
    第七章 函数基础
    第六章 控制流程
    Http请求
    Django学习之-带参数的路由应用
    Django学习之--Ajax
    第二章:Django项目实例
    第一章:Django简介
    pytest汇总
  • 原文地址:https://www.cnblogs.com/zs0322/p/10852536.html
Copyright © 2011-2022 走看看