Python系统学习-17

1.mysql安装在windows

  • 先把mysql服务端进程杀死
    • 查看进程号 tasklist /findstr mysqld
    • taskkill /F /PID 进程号
    • 一定要使用管理员运行cmd

###1.1数据类型

整型:
tinyint 小整型 0~255(无符号) -128~127(有符号) 默认是有符号
int 整型:0~65535
bigint 长整型:2**64-1
浮点型:
float:单精度 随着位数的增多不准确
double:多精度 随着位数的增多不准确,比float准备
decimal: 存储准备的数值
字符型:
char: 定长
varchar: 变长
时间:
datetime
枚举:
enum: 二选一

集合:
    set : 二选一或多选一

1.2约束

作用: 保证数据的完整性和一致性
- not null 不为空
- default 不管是null还是not null 如果插入空值 那么走default
- unique:
单列唯一:

create table t13(
                            id int,
                            name varchar(20) not null,
                            unique(id)
                        );

多列唯一:

create table t14(
                            id int,
                            name varchar(20),
                            unique(id),
                            unique(name)
                        );

联合唯一:

create table t15(
                            id int,
                            name varchar(20),
                            unique(id,name)
                        );

主键 一张表中 有一个

create table t16(
                            id int primary key,
                            name varchar(20) not null
                        );

foreign key
(1)先要创建被关联表(主表)

create table department(
                        id int primary key auto_increment,
                        name char(20) not null,
                        des varchar(20) not null    
                    );

(2)创建关联表(从表)

create table employee(
                        id int primary key auto_increment,
                        name char(20) not null,
                        age int not null,
                        dep_id int not null,
                        test_id int not null,
                        constraint fk_dep foreign key(dep_id) references department(id)
                        on delete cascade
                        on update cascade,
                        constraint fk_dep2 foreign key(test_id) references test(id)
                        on delete cascade
                        on update cascade
                    );
                    insert into department values
                    (1,'IT','IT技术有限部门'),
                    (2,'销售部','销售部门'),
                    (3,'财务部','花钱太多部门');

                    insert into employee values
                    (1,'zhangsan',18,1),
                    (2,'lisi',19,1),
                    (3,'egon',20,2),
                    (4,'yuanhao',40,3),
                    (5,'alex',18,2);

外键的变种

-(1) 多对一和一对多
-(2) 多对多

2.group_concat使用

SELECT id,GROUP_CONCAT(score) FROM testgroup GROUP BY id

3.mysql练习题

https://www.cnblogs.com/majj/category/1202022.html

4.Tips

4.1sql语法-if

if(expr1, expr2, expr3); if expr1=True, expr2; else: expr3.

select if(1>2, 2, 3)   #输出3
select if(3>2, 2, 3)   #输出2

猜你喜欢

转载自blog.csdn.net/weixin_41765871/article/details/82558712
今日推荐