zoukankan      html  css  js  c++  java
  • python 基础复习之数据库01

    什么是数据库?
    存储数据的仓库

    MySQL
    MySQL就是帮我来操作文件的
    MySQL :是用于管理文件的一个软件(包括两个软件)
    - 服务端的软件
    -socket服务端
    -本地文件操作
    -解析指令 【SQL语句】
    - 客户端软件
    -socket客户端
    -发送指令
    -解析指令 【SQL语句】

    文件夹【数据库】
    文件【表】
    数据行【行】
    数据行
     
    连接:
    show databases; # 列出所有数据库
    use 数据库名称; 切换数据库
    show tables; 查看数据库里的所有文件
    select * from 表名; 去哪个表里查看表下面所有的列
    select name from 表名; # *号 代表表下面的列 可以根据列来查看不同的信息
    select name,age from 表名; # 既看name列,又看age
    列。
     
    默认:用户 root
    创建用户:
    create user 'lizy'@'192.168.1.1' identified by '123123'; 密码
    create user 'lizy'@'%'identified by '123123';
     
    授权:
    给谁授权 权限是什么
    grant select(查找权限)
    grant select,insert,update on db1.t1 to 'lizy'@'%';
    (意思是:可以在任何电脑上对'lizy'@'%' 里的数据里的t1表进行增删改查)
    revoke select on db1.tb1 from '用户名'@'IP' # 删除授权

      1 3.学习SQL语句规则
      2     
      3 操作文件夹
      4         create database db2 default charset utf8;
      5         show databases;
      6         drop database db2; # 删除数据库
      7 
      8 操作文件
      9   show tables;
     10   create table t1(id int,name char(10)) default charset=utf8;  # char 表示字符串类型
     11   create table t1(id int,name char(10)) engine=innodb default charset=utf8;
     12   create table t2(id int auto_increment primary key,name char(10))engine=innodb 
                                          default charset=utf8; 13 t1表的名称 id 是表的列名 类型是int类 14 # 在MySQL里只有engine=innodb的时候,才支持回滚(假设在银行转账,突然断电了,
             钱转出去了,但是对方没有收到,
             钱就不知道去哪里了。
             有了engine=inndb 就可以让转账失败的钱回到原账户)。 15 #(引擎) 16 17 18 create table t1( 19 列名 类型 null, # 可以为空 20 列名 类型 not null, # 不可以为空 21 列名 类型 not null default 1, # 不能为空,且默认值为1 22 列名 类型 not null auto_increment, # 这一列会自增 23 列名 类型 not null auto_increment primary key, 24 id int, 25 name char(10) 26 )engine=innodb default charset=utf8; 27 28 # innodb 支持事务,原子性操作 29 # auto_increment 表示:自增 30 # primary key 表示 一是约束(不能重复且不能为空);二是加速查找 31 # 注意:一个表里只能有一个自增列 并且也只能有一个主键 32 如果是auto_increment 那么它必须是主键 33 # not null:是否为空 34 35 #数据类型: 36 # 数字: 37 tinyint 38 int 39 bigint 40 41 FLOAT 42 DOUBLE 43 # 不太精准的小数 44 decimal 45 # 这个也是小数,但是永远都是精准的 # 推荐用这个decimal 46 47 #字符串: 48 char(10) # 会多占内存 # 优点:速度快 49 varchar(10) # 输入多少就占多少内存 #优点:节省空间 50 # 都要加上一个长度 51 # PS:创建数据表 定长列往前放 52 53 # text:存的更多 54 55 # 上传文件: 56 # 文件存硬盘 57 # 数据库存路径 58 59 # 时间类型: 60 DATE 61 YYYY-MM-DD(1000-01-01/9999-12-31) 62 63 TIME 64 HH:MM:SS(时:分:秒) 65 66 YEAR 67 YYYY(1901/2155) 68 69 DATETIME 70 YYYY-MM-DD HH:MM:SS 71 72 TIMESTAMP 73 YYYYMMDD HHMMSS 74 75 76 create table t1( 77 id int not null auto_increment primary key, 78 num decimal(10,5), # 10表示总位数,就是
                         小数点儿前和后。 5表示小数点后的位数。
    79 name char(10) 80 )engine=innodb default charset=utf8; 81 82 83 # 清空表: 84 delete from t1; # 使用它 会清空表 但是序号会从清空之前
                 #的序号开始计算,例如:清空前是4,那么插入新数据后,就是从5开始。
    85 truncate table t1; # 清空列表后 新插入数据
                          #序号从1 开始(速度比delete快)
    86 # 删除表: 87 drop table t1; 88 89# 操作文件中的内容 90 # 插入数据 91 insert into t1(id,name) values(1,'alex'); 92 93 # 删除: 94 delete from t1 where id < 6 #(删除条件id小于六的) 95 96 # 修改: 97 update t1 set age=18;# (年龄那一列都会变成18) 98 update t1 set age=18 where age=17; #(找到年龄是17的改成18) 99 100 # 查看数据: 101 select * from t1; 102 103 104 # 外键: 105 # 原来只有一张表A,因为原因又创建另一张表B,B表里的id是A里的一个属性 106 107 create table userinfo( 108 uid bigint auto_increment primary key, 109 name varchar(32), 110 department_id int, 111 constraint fk_user_depar foreign key (department_id) references department(id)
                                         # 外键约束 112 )engine=innodb default charset=utf8; 113 # constraint 约束 fk_user_depar:外键的名称 references:关联 114 115 create table department( 116 id bigint auto_increment primary key, 117 title char(15) 118 )engine=innodb default charset=utf8; 119 120 121
    
    
    # 注:本文是根据老男孩课程内容整理而成的,本文仅供个人笔记使用,如果有侵犯,请联系我,我立即撤销。
     




     
  • 相关阅读:
    完全二叉树求结点左右孩子编号
    while(p)的作用
    数组和链表的区别
    Seqlist L 与 Seqlist *L的区别
    exit和return
    java EE 的页面获得路径
    如何理解asp.net的AutoEventWireup
    asp.net的服务器控件客户端空件的区别以及如何刷新页面不靠数据库数据停留在页面
    外部样式?内联样式?内部样式表?区别
    html 与 htm的区别
  • 原文地址:https://www.cnblogs.com/pioneerLee/p/10242550.html
Copyright © 2011-2022 走看看