MySQL学习总结

一、MySQL的特点:

关系型数据库、跨平台、支持多种编程语言。

二、MySQL的数据类型

(一)数值类型
  (1)整型
    1、int 大整型(4个字节)取值范围:2 ** 32 - 1
    2、tinyint 微小整型(1个字节)
      取值范围:
      有符号(signed默认):-128~127
      无符号(unsigned):0~255
    3、smallint 小整型(2个字节)
    4、bigint 极大整型(8个字节)
  (2)浮点型
    1、float (4个字节,最多显示7个有效位)
    用法:字段名 float(m,n) m表示总位数,n表示小数位数
    2、decimal (最多显示28个有效位)
    用法:字段名decimal(m,n) m表示总位数,n表示小数位数
    PS:存储空间(整数、小数分开存储)
      规则:将9的倍数包装成4个字节
          余数   字节
             0    0
             1-2   1
             3-4   2
             5-6   3
             7-9   4
      eg:
         decimal(19,9)
          整数部分:10/9=商1余1, 4字节+1字节=5字节
          小数部分:9/9=商1余0 ,4字节+0字节=4字节
         占:9字节
   NOTE:浮点型插入整数会自动补全小数位位数,小数位多于指定位数,会对下一位四舍五入
(二)字符类型
  1、char(定长) 取值范围:1~255
  2、varchar(变长) 取值范围:1-65535
  3、text / longtext(4G) / blob / longblob(4G)
  NOTE:char和varchar特点
      char:浪费存储空间,性能高
      varchar:节省存储空间,性能低
  PS:字符型宽度和数值型宽度的区别——
      1、数值类型宽度为显示宽度,只用于select查询显示和占用存储无关
      2、字符类型的宽度超过之后则无法存储

(三)枚举类型
  1、单选(enum):字段名 enum(值1,值2,…)
  2、多选(set) :字段名 set(值1,值2,…)
(四)日期时间类型
  1、date:“YYYY-MM-DD”
  2、time:“HH:MM:SS”
  3、datetime:“YYYY-MM-DD HH:MM:SS” ——(不给值默认返回NULL值)
  4、timestamp:“YYYY-MM-DD HH:MM:SS” ——(不给值默认返回系统当前时间)
  日期时间函数
  1、now():返回服务器当前时间
  2、curdate():返回当前日期
  3、curtime():返回当前时间
  4、year(date):返回指定时间的年份
  5、date(date):返回指定时间的日期
  6、time(date):返回指定时间的时间
  日期时间运算
  select * from 表名 where 字段名 运算符 (时间-interval 时间间隔单位)
  时间间隔单位:1 day | 2 hour |1 minute | 2 year | 3 month
  eg:查询1天以内的记录
    select * from testdb where shijian > (now()-interval 1day);

三、基本SQL操作命令

(一)SQL命令的使用规则

1、每条命令必须以 ; 结尾
2、SQL命令不区分字母大小写
3、可以使用 \c 来终止当前命令的执行

(二)库的管理

①库的基本操作命令

(1)查看已有库:
   show databases;
(2)创建库(指定字符集):
   create database 库名 [character set utf8];
(3)查看创建库的语句(字符集):
   show create database 库名;
(4)查看当前所在库:
   select database();
(5)切换库:
   use 库名;
(6)查看库中已有表:
   show tables;
(7)删除库:
   drop database 库名;

②库的命名规则

(1)数字、字母、下划线,但不能使用纯数字
(2)库名区分字母大小写
(3)不能使用特殊字符和MySQL关键字

(三)表的管理

①表的基本操作命令

(1)创建表(指定字符集):
   create table 表名 (
           字段名 数据类型,
           字段名 数据类型,
           。。。
           字段名 数据类型
           ) [character set utf8];

(2)查看已有表的字符集:
   show create table 表名;
(3)查看表结构:
   desc 表名;
(4)删除表:
   drop table 表名;

NOTE:所有的数据都是以文件的形式存放在数据库目录(\var\lib\mysql)下。

②表记录管理

(1)插入(insert):
  1、insert into 表名 values (值1),(值2),…;
  2、insert into 表名 (字段名1,字段名2,…) (值1),(值2),…;
(2)查询(select):
  1、select * from 表名 [where 条件];
  2、seleat 字段名1,字段名2,… from 表名 [where 条件];

③表字段操作

————语法:alter table 表名 执行动作
(1)添加字段(add)
  alter table 表名 add 字段名 数据类型;  (PS:默认添加至末尾)
  alter table 表名 add 字段名 数据类型 first;   (PS:在开头添加字段)
  alter table 表名 add 字段名 数据类型 after 字段名;  (PS:在指定字段后添加字段)
(2)删除字段(drop)
  alter table 表名 drop 字段名;
(3)修改数据类型(modify)
  alter table 表名 modify 字段名 新数据类型;
(4)表的重命名(rename)
  alter table 表名 rename 新表名;

④表记录管理

(1)删除表记录
  delete from 表名 where 条件;
  NOTE:delete 语句后面不加where条件,所有记录全部清空
(2)更新表记录
  update 表名 set 字段1=值1,字段2=值2,… where 条件;
  NOTE:必须加where条件

⑤运算符操作

(1)数值比较/字符比较
  1、数值比较:= ,!= , > , >= , < , <=
  2、字符比较:= ,!=
(2)逻辑比较
  1、and (两个或多个条件同时成立)
  2、or (任意一个条件成立即可)
(3)范围比较
  1、between 值1 and 值2
  2、where 字段名 in (值1,值2,…)
  3、where 字段名 not in (值1,值2,…)
(4)匹配空、非空
  1、空:is null
  2、非空:is not null
  NOTE:NULL 空值——只能用is或is not 去匹配
      “” 空字符串——用=或!=去匹配
(5)模糊比较
  1、where 字段名 like 表达式
  2、表达式:
        :匹配单个字符
        %:匹配0到多个字符
    eg:
      select name from testdb where name like "
%_";
      PS:NULL 不会被统计,只能用is、is not 去匹配

⑥表的复制

(1)语法:
  create table 表名 select … from 表名 where 条件;
(2)复制表结构
  create table 表名 select * from 表名 where false;
NOTE:复制表的时候不会把原表的键(key) 属性复制过来

(四)更改默认字符集

通过更改MySQL配置文件实现:
  1、获取root权限:sudo -i
  2、进入配置文件路径:cd /etc/mysql/mysql.conf.d/
  NOTE:MAC 无配置文件,需自己新建文件mysqld.cnf:/etc/mysqld.cnf
  3、文件备份:cp mysqld.cnf mysqld.cnf.bak
  4、用subl或vi打开mysqld.cnf:
    subl mysqld.cnf
    [mysqld]
    character_set_server = utf8

  5、重启MySQL服务:/etc/init.d/mysql restart

(五)SQL查询

命令执行顺序:
      3、select … 聚合函数 from 表名
      1、where …
      2、group by …
      4、having …
      5、order by …
      6、limit … ;
(1)order by
  1、作用:给查询结果进行排序
  2、用法:… order by 字段名 ASC/DESC
  3、升序:ASC(默认)
    降序:DESC
(2)limit (永远放在SQL语句的最后写)
  1、作用:限制显示查询记录的个数
  2、用法:limit n —— 显示n条记录
      limit m,n —— m表示从第m+1项开始显示,显示n条
     eg:
       limit 2,3 —— 显示第3、4、5三条记录
  3、分页:每页显示n条记录,显示m页 —— limit (m-1)×n,n
(3)聚合函数
  1、avg(字段名):求该字段平均值
  2、sum(字段名):求和
  3、max(字段名):求最大值
  4、min(字段名):求最小值
  5、count(字段名):统计该字段记录的个数
(4)group by
  作用:给查询结果进行分组
  NOTE:
      1、group by 之后的字段名必须要为select之后的字段名
      2、如果select之后的字段名和group by之后的字段名不一致,择必须对该字段进行聚合处理(聚合函数)
(5)having 语句
  作用:对查询的结果进行进一步筛选
  NOTE:
      1、having 语句通常和group by 语句联合使用,过滤由group by 语句返回的记录集
      2、where 只能操作表中实际存在的字段,having可操作由聚合函数生成的显示列
(6)distinct
  作用:不显示字段重复值
  NOTE:
      1、distinct 和 from之间所有字段都相同才会去重
      2、distinct 不能对任何字段做聚合处理
(7)约束
  1、作用:保证数据的完整性、一致性、有效性
  2、约束分类:
        1、默认约束(default)
          插入记录,不给该字段赋值,则使用默认值
        2、非空约束(no NULL)
          不允许该字段的值有NULL记录
        eg:sex enum (“M”,“F”,“S”) not default “s”
(8)索引介绍
  1、定义:对数据库表的一列或多列的值进行排序的一种结构(Btree方式)
  2、优点:加快数据检索速度
  3、缺点:占用物理存储空间,当对表中数据更新时,索引需要动态维护,降低数据维护速度
  eg:索引示例
    1、开启运行时间检测:
      set profiling=1;
    2、执行查询语句:
      select name from t1 where name=“lucy99999";
    3、查看执行时间:
      show profiles;
    4、在name字段创建索引:
      create index name on t1 (name);
    5、再执行查询语句:
      select name from t1 where name=“lucy88888”;
    6、查看执行时间:
      show profile;
(9)索引操作
  ①普通索引(index)
    1、使用规则
      1、可设置多个字段
      2、字段值无约束
      3、key标志:MUL
    2、创建index
      1、创建表时
        create table 表名 (…
        index (字段名),index (字段名));
      2、已有表
        create index 索引名 on 表名 (字段名);
        create index name on t3 (name);
      3、查看索引
        1、desc 表名; —— KEY标志为:MUL
        2、show index from 表名;
      4、删除索引
        drop index 索引名 on 表名;
  ②唯一索引(unique)
    1、使用规则
      1、可设置多个字段
      2、约束:字段值不允许重复,但可为NULL
      3、KEY标志:UNI
    2、创建
      1、创建表时创建
        unique(字段名)
      2、已有表
        create unique index 索引名 on 表名 (字段名);
      3、查看、删除 同普通索引
  ③主键索引(primary key)
      自增长属性(auto_increment,配合主键一起使用)3
    1、使用规则
      1、只能有一个主键字段
      2、约束:不允许重复,且不能为NULL
      3、KEY标志:PRI
      4、通常设置记录编号字段id,能唯一锁定一条记录
    2、创建
      1、创建表时
        (id int primary key auto_increment,…) auto_increment=10000; ——设置自增长起始值
        已有表添加自增长属性:alter table 表名 modify id int auto_increment;
        已有表重新指定起始值:alter table 表名 auto_increment=20000;
      2、已有表
        alter table 表名 add primary key (id);
    3、删除
      1、删除自增长属性(modify)
        alter table 表名 modify id int;
      2、删除主键索引
        alter table 表名 drop primary key;
    4、外键索引
        外键(foreign key)
      1、定义 :让当前表字段的值在另一个表的范围内选择
      2、语法:
         foreign key(参考字段名)
         references 主表(被参考字段名)
         on delete 级联动作
         on update 级联动作
      3、使用规则
         1、主表、从表字段数据类型要一致
         2、主表被参考字段 :主键
      4、删除外键
         alter table 表名 drop foreign key 外键名;
         外键名 :show create table 表名;
      5、级联动作
         1、cascade
             数据级联删除、更新(参考字段)
         2、restrict(默认)
            从表有相关联记录,不允许主表操作
         3、set null
            主表删除、更新,从表相关联记录字段值为NULL
      6、已有表添加外键
         alter table 表名 add
         foreign key(参考字段) references 主表(被参考字段)
         on delete …
         on update …
(10)嵌套查询(子查询)
    1、定义 :把内层的查询结果作为外层的查询条件
    2、语法格式
       select … from 表名 where 条件(select …);
(11)多表查询
    1、两种方式:
      1、select 字段名列表 from 表名列表; (笛卡尔积)
        eg:
          t1 : name -> “A1” “A2” “A3”
          t2 : name -> “B1” “B2”
          select * from t1,t2;
      2、… where 条件;
(12)连接查询
    1、内连接
      1、语法格式
        select 字段名 from
        表1 inner join 表2 on 条件
        inner join 表3 on 条件;
      2、显示省市详细信息
        select sheng.s_name,city.c_name from sheng
        inner join city on sheng.s_id=city.cfather_id;
      3、显示省市县详细信息
        select sheng.s_name,city.c_name,xian.x_name from
        sheng inner join city
        on sheng.s_id=city.cfather_id
        inner join xian
        on city.c_id=xian.xfather_id;
    2、外连接
      1、左连接
        1、以 左表 为主显示查询结果
        2、select 字段名 from
          表1 left join 表2 on 条件
          left join 表3 on 条件;
        3、显示省市详细信息
          select sheng.s_name,city.c_name from sheng
          left join city
          on sheng.s_id=city.cfather_id;
      2、右连接
        用法同左连接,以右表为主显示查询结果

(六)数据导入

(1)作用:把文件系统的内容导入到数据库中
(2)语法:
    load data infile “/var/lib/mysql-files/文件名”
    into table 表名
    fields terminated by “分隔符”
    lines terminated by “\n”;
(3)将scoretable.csv文件导入到数据库的表中
  1、在数据库中创建对应的表
    create table scoretab(
    id int,
    name varchar(15),
    score float(5,2),
    number bigint,
    class char(7)
    );
  2、把文件拷贝到数据库的默认搜索路径中
    1、查看默认搜素路径
      show variables like “secure_file_priv”;
      /var/lib/mysql-files/
    2、拷贝文件
      sudo cp ~/scoretable.csv /var/lib/mysql-files/
    3、执行数据导入语句
      load data infile “/var/lib/mysql-files/scoretable.csv”
      into table scoretab
      fields terminated by “,”
       lines terminated by “\n”;
    4、文件权限
       rwxrw-rw- 1 tarena tarena scoretable.csv
             所有者 所属组
       rwx : tarena用户
       rw- : 同组其他用户
       rw- : 其他组的其他用户(mysql用户)
          r -> 4
          w -> 2
          x -> 1
          chmod 644 文件名 rw-r–r--
    5、Excel表格如何转化为CSV文件
        1、打开Excel文件 -> 另存为 -> CSV(逗号分隔)
    6、更改文件编码格式
        1、用记事本/编辑器 打开,文件->另存为->选择编码

(六)数据导出

(1)作用 :
    将数据库中表的记录导出到系统文件里
(2)语法格式
     select … from 表名
     into outfile “/var/lib/mysql-files/文件名”
     fields terminated by “分隔符”
     lines terminated by “\n”;

(七)数据备份(mysqldump,在Linux终端中操作)

(1)命令格式
   mysqldump -u用户名 -p 源库名 > ~/***.sql
(2)源库名的表示方式
   --all-databases 备份所有库
   库名 备份单个库
   -B 库1 库2 库3 备份多个库
   库名 表1 表2 表3 备份指定库的多张表
    eg:
      1、备份所有库,放到 mydata 目录下:all.sql
        mysqldump -uroot -p --all-databases > all.sql
      2、备份 db4 库中的 sheng city xian 三张表,scx.sql
        mysqldump -uroot -p db4 sheng city xian > scx.sql
      3、备份 MOSHOU 和 db4 库, md.sql
        mysqldump -uroot -p -B MOSHOU db4 > md.sql
      4、备份 db4 库, db4.sql
        mysqldump -uroot -p db4 > db4.sql

(八)数据恢复

(1)命令格式(Linux终端)
   mysql -uroot -p 目标库名 < ***.sql
(2)从所有库备份中恢复某一个库(–one-database)
   mysql -uroot -p --one-database 目标库名 < all.sql
   mysql -uroot -p --one-database db4 < all.sql
    eg:
     1、在db4.sheng新增一条记录
     2、在db4中新建一张表 t888,里面插入1条记录
     3、从db4.sql中恢复db4库
NOTE:
   1、恢复库时如果恢复到原库会将表中数据覆盖,新增表不会删除
   2、数据恢复时如果恢复的库不存在,则必须先创建空库

(九)MySQL的用户账户管理

(1)开启MySQL远程连接
   1、sudo -i
   2、cd /etc/mysql/mysql.conf.d/
   3、subl mysqld.cnf
   #bind-address = 127.0.0.1 ctrl + s保存
   4、/etc/init.d/mysql restart
(2)添加授权用户
   1、用root用户登录mysql
      mysql -uroot -p123456
   2、授权
       grant 权限列表 on 库.表 to “用户名”@"%"
      identified by “密码” with grant option;
   权限列表:all privileges 、select 、insert
   库.表 : . 所有库的所有表
  eg:
   1、添加授权用户tiger,密码123,对所有库的所有表有所有权限
    grant all privileges on . to “tiger”@"%" identified by “123” with grant option;
   2、添加用户rabbit,对db4库有所有权限
    grant all privileges on db4.* to “rabbit”@"%" identified by “123” with grant option;

(十)存储引擎(处理表的处理器)

(1)基本操作
  1、查看所有存储引擎
    mysql> show engines;
  2、查看已有表的存储引擎
    mysql> show create table 表名;
  3、创建表指定
    create table 表名(…)engine=myisam;
  4、已有表
    alter table 表名 engine=innodb;
(2)锁
  1、目的 :解决客户端并发访问的冲突问题
  2、锁分类
   1、锁类型
    1、读锁(共享锁)
      select :加读锁之后别人不能更改表记录,但可以进行查询
    2、写锁(互斥锁、排他锁)
      insert、delete、update
      加写锁之后别人不能查、不能改
   2、锁粒度
    1、表级锁 :myisam
    2、行级锁 :innodb
  3、常用存储引擎特点
   1、InnoDB特点
    1、共享表空间
      表名.frm :表结构和索引文件
      表名.ibd :表记录
    2、支持行级锁
    3、支持外键、事务操作
   2、MyISAM特点
    1、独享表空间
      表名.frm :表结构
      表名.myd :表记录 mydata
      表名.myi :索引文件 myindex
    2、支持表级锁
  4、如何决定使用哪个存储引擎
   1、执行查操作多的表用 MyISAM(使用InnoDB浪费资源)
   2、执行写操作多的表用 InnoDB
(3)MySQL调优
  1、选择合适的存储引擎
   1、读操作多 :MyISAM
   2、写操作多 :InnoDB
  2、创建索引
    在 select、where、order by常涉及到的字段建立索引
  3、SQL语句的优化
   1、where子句中不使用 != ,否则放弃索引全表扫描
   2、尽量避免 NULL 值判断,否则放弃索引全表扫描
     优化前 :
       select number from t1 where number is null;
     优化后 :
       在number列上设置默认值0,确保number列无NULL值
       select number from t1 where number=0;
   3、尽量避免 or 连接条件,否则放弃索引全表扫描
     优化前 :
       select id from t1 where id=10 or id=20 or id=30;
     优化后:
       select id from t1 where id=10
       union all
       select id from t1 where id=20
       union all
       select id from t1 where id=30;
   4、模糊查询尽量避免使用前置 % ,否则全表扫描
     select name from t1 where name like “%c%”;
   5、尽量避免使用 in 和 not in,否则全表扫描
     select id from t1 where id in(1,2,3,4);
     select id from t1 where id between 1 and 4;
   6、尽量避免使用 select * …;用具体字段代替 * ,不要返回用不到的任何字段
(4)事务和事务回滚
   1、定义 :一件事从开始发生到结束的整个过程
   2、作用 :确保数据一致性
   3、事务和事务回滚应用
    1、MySQL中sql命令会自动commit到数据库
      show variables like “autocommit”;
    2、事务应用
     1、开启事务
        mysql> begin;
        mysql> …一条或多条SQL语句
        ## 此时autocommit被禁用
     2、终止事务
        mysql> commit; | rollback;
    eg:
      1、背景
        你 :建行卡
        你朋友 :工商卡
        你在建行自动取款机给你朋友的工商卡转账5000元
      2、建表
        表1、CCB
        create table CCB(
        name varchar(15),
        money decimal(20,2)
        );
        insert into CCB values(“只手遮天”,10000);
        表2、ICBC
        create table ICBC(
        name varchar(15),
        money decimal(20,2)
        );
        insert into ICBC values(“为所欲为”,1000);
      3、开始转账
        mysql> begin;
        mysql> update CCB set money=money-5000 where name=“只手遮天”;
        mysql> update ICBC set money=money+5000 where name=“为所欲为”;
        mysql> commit;
        #### 转账成功 ####
(5)与python交互
  1、交互类型
    1、python3
     模块名 :pymysql
     安装:
       在线 :sudo pip3 install pymysql
       离线 :pymysql-0.7.11.tar.gz
           $ tar -zxvf pymyql-0.7.11.tar.gz
           $ cd pymysql-0.7.11
           $ sudo python3 setup.py install
  2、pymysql使用流程
    1、建立数据库连接(db = pymysql.connect(…))
    2、创建游标对象(c = db.cursor())
    3、游标方法: c.execute(“insert …”)
    4、提交到数据库 : db.commit()
    5、关闭游标对象 :c.close()
    6、断开数据库连接 :db.close()
  3、connect对象
    1、db = pymysql.connect(参数列表)
      1、host :主机地址,本地 localhost
      2、port :端口号,默认3306
      3、user :用户名
      4、password :密码
      5、database :库
      6、charset :编码方式,推荐使用 utf8
    2、数据库连接对象(db)的方法
      1、db.close() 关闭连接
      2、db.commit() 提交到数据库执行
      3、db.rollback() 回滚
      4、cur = db.cursor() 返回游标对象,用于执行具体SQL命令
    3、游标对象(cur)的方法
      1、cur.execute(sql命令,[列表]) 执行SQL命令
      2、cur.close() 关闭游标对象
      3、cur.fetchone() 获取查询结果集的第一条数据
                   (1,100001,“河北省”)
      4、cur.fetchmany(n) 获取n条
                  ((记录1),(记录2))
      5、cur.fetchall() 获取所有记录
      错误:
         1、root@“localhost” denied,Using password:YES
         2、“localhostt”
         3、connect object has no attribute “rollbake”
         4、pymysql has no attribute “connect”
(6)orm(Object Relation Mapping 对象关系映射)
  1、定义
     把对象模型映射到MySQL数据库中
  2、sqlalchemy安装:
     在线 :sudo pip3 install sqlalchemy
     离线 :
        $ tar -zxvf SQLAlchemy-1.2.10.tar.gz
        $ cd SQLAlchemy-1.2.10
        $ sudo python3 setup.py install
     验证:
        $ python3
        >>> import sqlalchemy
        >>>
  eg:
     class User(Base):
     _ tablename_ = “t1” #声明要创建的表名
     id = Column(Integer,primary_key=True)
     name = Column(String(20))
   解释:
     一个类User --> 一张表 t1
     表中有两个字段 :id 和 name

MySQL学习总结_φ(❐_❐✧相关推荐

  1. mysql存储过程大于小于_mysql5.0存储过程操作符知识_函数方法[Mysql学习]

    mysql存储过程基本函数 一.字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2  [,... ]) //连接字串 INSTR (string ,substrin ...

  2. MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结

    MySQL学习笔记_关于MySQL的字符类型VARCHAR长度知识总结 一.VARCHAR存储和行长度限制 1.VARCHAR(N)中,N指的是字符的长度,VARCHAR类型最大支持65535,指的是 ...

  3. mysql查询心得_我的MYSQL学习心得(七) 查询

    在这个<我的MYSQL学习心得>系列里面,我一直都把MYSQL跟SQLSERVER进行比较,相互进行比较是学习一样东西比较好的方法 比较出大家的异同点,从而加深记忆 这一篇<我的MY ...

  4. MySQL学习笔记_上(select查询)

      上次整理了一些练习发到博客上了,也说要发基础的,整理了一下午才算是把查询那块的勉强整理完,下次再整理其他的,另外还在写设计模式和数据结构的草稿,写的差不多会慢慢发的,这两项算是副线发展,主线还是按 ...

  5. MySQL学习笔记(B站网课:MySQL_基础+高级篇- 数据库 -sql -mysql教程_mysql视频_mysql入门_尚硅谷)已完结

    目录 一.为什么要学习数据库 二.数据库的相关概念 三.数据库存储数据的特点 四.初始MySQL MySQL产品的介绍和安装 MySQL服务的启动和停止 MySQL服务的登录和退出 MySQL的常见命 ...

  6. 初识mysql实验小结_初识mysql学习笔记

    使用VMVirtualBox导入Ubuntu后,可以通过sudo apt-get install mysql-server命令下载mysql. 在学习过程中,我遇到了连接不上Xshell的问题.最终在 ...

  7. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

  8. C/C++学习之路_九:文件操作

    C/C++学习之路_九:文件操作 目录 概述 文件的顺序读写 文件的随机读写 windows和linux文本 获取文件状态 删除文件.重命名文件 文件缓冲区 1. 概述 1. 磁盘文件和设备文件 磁盘 ...

  9. C/C++学习之路_八: 复合类型

    C/C++学习之路_八: 复合类型 目录 结构体 共用体(联合体) 枚举 typedef 1. 结构体 1. 概述 有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年 ...

最新文章

  1. 70个Python练手项目列表 预祝大家 快乐
  2. 谈谈怎么做【服务隔离】
  3. 梯度提升树(GBDT)原理小结
  4. 13张PPT带你了解主动式消息队列处理集群
  5. Google广告优化与工具
  6. html+css京东登录页面
  7. 中国石油大学(北京)本科毕业论文答辩PPT模板
  8. 汽车电子(一)--- 整车CAN网络介绍
  9. 不会比这更详细的前端工程化的入门教程了
  10. [转]库存那些事儿_4_收货
  11. C++ 重载、重写及其区别
  12. ios测试硬盘速度软件,MAC测试“读写速度达100MB/s_希捷 Backup Plus Slim for Mac 500GB_移动存储评测-中关村在线...
  13. 步进电机--S 曲线的C算法
  14. 概率论与数理统计——多方法解决-双样本方差的F检验-Excel/SPSS
  15. MATLAB/Simulink中的S函数报错
  16. 【MATLAB】解一元一次(一元二次)方程
  17. 数据库:CHAR,VARCHAR,TEXT,ENUM ,SET,BINARY,VARBINARY 列的完整性约束
  18. c语言打印a-Z字母的方法
  19. NYOJ2347---LYQの字符串(技巧题:应该是滑动窗)
  20. LINUX 查看宝塔BT登陆账号密码

热门文章

  1. 软件定义网络:SDN与OpenFlow解析pdf
  2. 【源码】螳螂觅食优化MRFO算法仿真
  3. 第十一天 • 考拉保护区
  4. 关于MAAS的一些思考
  5. 魔法女孩第一次见世面(初识java)
  6. (打印机Printer)小票打印
  7. Android将screenOrientation设置为portrait不起作用
  8. jenkins修改pom文件_jenkins小插曲-maven pom文件插件配置
  9. 北京住房公积金 提取
  10. 电力系统的额定电压及电压等级