-
为什么要配置环境变量?
当你想直接用cmd打开某个.exe软件,但却出现以上情况时,可以通过配置环境变量来解决。配置了常用软件的环境变量后,在系统的任意路径下,打开cmd,输入软件,即可打开应用。环境变量:是在操作系统中用来指定操作系统运行环境的一些参数。
环境变量中的path环境变量:当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下寻找此程序外,还应该到path中指定的路径下去寻找。查询路径优先级顺序:win10中,环境白那辆包括用户变量和系统变量。用户变量有与系统变量。
查询顺序为:当前目录下路径>用户变量>系统变量,若找不到,就会报错
系统变量针对所有用户起作用,为了安全一般配置用户环境变量;用户变量只对当前用户起作用,为了省事一般配置系统环境变量 -
数据库的分类
关系型数据库(SQL):通过表和表之间,行和列的关系进行数据的存储;Mysql,Oracle...
非关系型数据库(NOSQL):对象存储,通过对象的自身的属性来决定;Redis,MongDB... -
常用的基本命令
--服务的启动和停止 net stop mysql net start mysql --登陆mysql mysql -u 用户名 -p用户密码 --创建数据库 create database [if not exists] <数据库名>; --查询所有数据库 show databases; --删除数据库 drop database [if exists] <数据库名>; --进入数据库 use <数据库名>; --查询数据库下表 show tables; --显示数据库中表的信息 describe <表名>;
-
数据库语言:DDL(定义),DML(操作),DQL(查询),DCL(控制)
-
常用的数据类型:
类型 大小 范围(有符号) 范围(无符号) 用途 INT 4 Bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 BIGINT 8 Bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值 FLOAT 4 Bytes (-3.402 823 466 E+38,-1.175 494 351 E-38) (0,1.175 494 351 E-38,3.402 823 466 351 E+38) 单精度浮点数值 DOUBLE 8 Bytes (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308) (0,2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度浮点数值 DECIMAL 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值 DATETIME 8 Bytes '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59' YYYY-MM-DD hh:mm:ss 混合日期和时间值 TIMESTAMP 4 Bytes '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC YYYY-MM-DD hh:mm:ss 混合日期和时间值,时间戳 VARCHAR 0-65535 bytes 0-65535 bytes 0-65535 bytes 变长字符串 TEXT 0-65535 bytes 0-65535 bytes 0-65535 bytes 长文本数据 -
数据库的字段属性:
Unsigned: 无符号整数,声明了该列不能为负数 zerofill: 不足的位数,使用0来填充 自增: 通过自己设置的值在上一条记录的基础上进行自增 not null: 写数据的时候必须要赋值 默认: 设置默认的值,不指定该列的值的话,会根据你自己设定的默认值进行赋值 每张表必有的5个属性: id:主键 `version` :乐观锁 is_delete:伪删除 gmt_create:创建时间 gmt_update:修改时间
-
表的创建语句:
-- 创建一个school数据库 -- 创建学生表(列,字段) 使用SQL创建 -- 学号int 登陆密码varchar(20) 姓名,性别varchar(2),出生日期datatime,家庭住址,email -- 注意:使用英文(),表的名字 和 字段 尽量用``括号起来 -- AUTO_INCREMENT 自增 -- 字符串使用''单引号包裹 -- 所有语句后面加英文逗号 , 最后一个不用加 -- PRIMARY KEY 主键,一般一张表只有一个 CREATE TABLE IF NOT EXISTS `student` ( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码', `sex` VARCHAR(3) NOT NULL DEFAULT '保密' COMMENT '性别', `birthday` DATETIME DEFAULT NULL COMMENT '生日', `address` VARCHAR(100) DEFAULT NULL COMMENT '地址', `email` VARCHAR(50) DEFAULT NULL COMMENT 'email', PRIMARY KEY(`id`) )ENGINE=INNODB DEFAULT CHARSET=utf8 --固定的创建格式 CREATE TABLE [IF NOT EXISTS] `表名` ( '字段名' 列类型 [属性] [索引] [注释], '字段名' 列类型 [属性] [索引] [注释], ...... '字段名' 列类型 [属性] [索引] [注释] )[表类型] [字符集设置] [注释] --查看操作语句 SHOW CREATE DATABASE school -- 查看创建数据库的语句 SHOW CREATE TABLE student2 -- 查看创建表的语句 DESC student -- 显示表的结构
-
关于数据库引擎
- InnoDB 默认使用
- MYISAM 早些年使用
MyISAM InnoDB 事务支持(同时成功或同时失败) 不支持 支持 数据行锁定(锁定一行) 不支持(表锁定) 支持 外键约束(在数据库内关联另一张表) 不支持 支持 全文索引 支持 不支持(MySQL 5.6.4后支持) 表空间大小 较小 较大,约为MyISAM2倍 常规操作使用: MyISAM:节约空间,速度较快
InnoDB:安全性高,事务支持,多表多用户操作(外键约束) -
修改和删除表:
-- 修改表名 ALTER TABLE 旧表名 RENAME AS 新表名 ALTER TABLE student RENAME AS student1 -- 增加表的字段 ALTER TABLE 表名 ADD 字段名 列属性 ALTER TABLE student1 ADD sex VARCHAR(2) -- 修改表的字段(重命名,修改约束) ALTER TABLE student1 MODIFY sex INT(2) -- 修改约束 ALTER TABLE student1 CHANGE sex sex1 VARCHAR(2) -- 重命名字段,可以修改约束 -- 删除表的字段 ALTER TABLE student1 DROP sex1 -- 删除表(如果存在 DROP TABLE IF EXISTS student1