zhengwei1949 / myblog

个人博客
10 stars 6 forks source link

aaa #125

Open zhengwei1949 opened 6 years ago

zhengwei1949 commented 6 years ago

复习

$str = "a.b.js";
//$index = $str.strrpos('.');
//echo $str.substr($index);
echo $str.strrchr(".");
if(!defined('常量名')){
    define('常量名','值');
}
defined('常量名') or define('常量名','值');

数组概念、遍历、函数 数据库初步

总结

//显式创建
$arr1 = array(2,3,4);
$arr2 = [2,3,4];

//隐式创建 --> 有点类似js中的push的感觉
$arr3[] = 2;
$arr3[] = 3;
$arr3[] = 4;
create table user(
    user_id int primary key auto_increment,
    user_name varchar(10),
    user_password varchar(30)
);
    - user_id primary key auto_increment 
    - user_name varchar
    - user_password varchar
        + 理解
            1. primary key --> 主键
            2. auto_increment 自增
            3. int 整型
            4. varchar字符串类型数据
            5. 10,30代表的是字符的长度

8. 向user表中插入数据
    - insert into user values(null,"xiao li","123456");
    - id不是由我们插入的,但是这个位置必须保留,所以写null

9. 查询数据
    + select user_name from user;
    + select user_id,user_name,user_password from user;
    + 简写:select * from user;    

10. 再插入一条数据
    - `insert into user values("小明","123456")`
11. 查询的时候发现乱码了 --> 编码设置`set names gbk` or `set names utf8`
    - 原因:windows的命令行默认是GBK的
12. 字段类型
    + 数字类型
        1. int 范围: 有负数(signed)(-2 147 483 648,2 147 483 647)     无负数(unsigned)(0,4 294 967 295) 大整数值
        2. tinyint 一个字节 范围:有负数(signed)-128~127 无负数(unsigned)(0~255)
            - 用途:性别、省份信息、是否包邮、是否确定
        3. float 
        4. decimal 高精度 用于钱之类的对小数点要求严格的
    + 字符串类型(用的时候必须加双引号或单引号)
        1. varchar 不定长 节省空间
        2. char 定长 容易造成空间的浪费,如果是固定长度比较适合
        3. text 存一篇文章之类的
    + 日期(用的时候必须加双引号或单引号)
        1. datetime 年月月 时分秒 格式:YYYY-MM-DD HH:MM:SS  
        2. date 年月日 格式: YYYY-MM-DD
        3. time 时分秒 格式:HH:MM:SS 
13. 字段约束(属性)
    + 如何理解约束
        1. 每个人的指纹信息必须唯一
        2. 每个人的身份证要求唯一
    + comment
    + not null
    + primary key
    + unique key 唯一,查找速度不如primary key
    + default
    + auto_increment
15. 优化user用户表
create table user(
    user_id int primary key auto_increment,
    user_name varchar(10) not null unique key comment "用户名",
    user_password varchar(30) not null comment "密码"
);
16. 创建学生就业表
    + 学号,姓名,性别,公司名称,就业薪资,毕业时间
create table job_info(
    stu_id int,
    stu_name varchar(10),
    sex char(1),
    company varchar(30),
    salary decimal(7,2),
    grad_time date comment "毕业时间"
);
17. 创建jd_goods商品表
商品编号 商品名称 价格 商品分类 销量 是否包邮 图片路径
goods_id goods_name price cat_name sales is_post_free pic_path
int,not null,primary key,auto_increment varchar,unique key,not null decimal(7,1),not null varchar int,not null tinyint,not null,default 1 varchar
create table jd_goods(
    goods_id int primary key auto_increment,
    goods_name varchar(30) unique key not null,
    price decimal(7,1) not null,
    cat_name varchar(30),
    sales int not null,
    is_post_free tinyint not null default 1 comment "1包邮 2不包邮",
    pic_path varchar(200)
);
18. 创建订单表(jd_order) 此表与商品表是有关系的,每个订单都有对应的商品与之关联
订单编号(order_id) 商品编号(goods_id) 数量(goods_num) 地址(post_address) 购买时间(add_time)
primary key int,not null int varchar datetime
create table jd_order(
    order_id int primary key auto_increment,
    goods_id int not null,
    goods_num int comment "购买数量",
    post_address varchar(40),
    add_time date_time comment "下单时间"
)