重温 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)                      
)      
复制代码

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

posted @ 2019-05-12 15:46  zhansen521  阅读(153)  评论(0编辑  收藏  举报