广州天河42期cyp 发表于 2022-6-2 19:43:41

6.2笔记文档

数据库:存放数据的电子仓库。以某种方式存储百万、上亿条数据,供多个用户访问共享。数据库分关系型数据库和非关系型数据库关系型数据库:依据关系模型创建的数据库,把数据保存在不同的表中,表与表存在着某些关系。非关系型数据库:非关系型数据库也叫nosql数据库,全称not only sql。通常数据以对象的形式存储在数据库中,不固定结构,例如列模型,键值对模型。关系型数据库特点:1.安全⒉保持数据的一致性3.实现对表与表进行复杂的数据查询非关系型数据库特点:1.效率高⒉容易扩展3.使用更加灵活关系型数据库有哪些:1.db22.oracle3.mysql4.sql server非关系型数据库有哪些:1.hbase(列模型)2.redis(键值对模型)3.mongodb(文档类模型)Mysql是关系型数据库管理系统,我们常说的xxxx数据库就是指xxxx数据库管理系统。Mysql数据库由瑞典Mysql DB公司开发,目前属于Oracle公司,在web应用方面,Mysql是最好的关系型数据库管理系统Mysql特点:1.体积小,安装简单,维护成本低2开源,免费3.使用C++编写4.支持多系统Linux服务器MySQL的安装方式(两种方式只要使用一种就行了)方式一:在线安装yum install mysql -y #安装MySQL数据库的客户端yum install mysql-server -y #MySQL服务端的安装yum中的-y参数表示使用yum进行在线安装时必须确认方式二:离线安装 rpm安装rpm -qa ==》查看当前Linux服务器中已经安装的程序首先需要下载相关的rpm文件安装包执行:rpm -ivh +rpm文件名-ivh 表示执行安装并显示进度先启动MySQL的服务,才可以连接MySQL数据库管理系统service mysqld start ===》启动MySQL数据库的服务service mysqld stop ==》停止MySQL数据库的服务service mysqld restart ==》重启MySQL数据库的服务service mysqld status ==》检查MySQL数据库服务的运行状态首次(未设置密码前)进入MySQL数据库,是不需要输入密码的:mysql -uroot -p退出的三种方法:quit、exit、Ctrl+c设置mysql的登陆密码(刚安装完mysql的设置密码的方法):mysqladmin -uroot password "123456"设置密码之后的两种登陆方式:密文方式:mysql -uroot -p 加回车键 再输入密码明文方式:mysql -uroot -p123456-u表示用户名-p表示密码mysql的基本操作:show databases; ==》展示所有的库use +库名; ==>进入对应的库中(只有进入到对的库中才可以操作里面的表)show tables; ==>展示当前库中所有的表create database +库名; ==》创建xx库,是没有表的select database(); ==》查询 当前操作的库名database()==>MySQL中的内置函数,作用获取当前操作的库名,内置函数的执行需要使用 select 在前drop database +库名; ==>删除对应的库(注意:MySQL中的基础库不要删除)对表进行操作(注意:要先使用use 进入对应的库中)创建表:create table 表名(字段1 字段1的属性 字段1的约束,字段2 字段2的属性 字段2的约束,字段3 字段3的属性);create table test(id int(20) primary key auto_increment,name varchar(20) not null,score float(20,2),phone bigint(20) default 17688889999,time date);create table test(id int(20) primary key auto_increment,name varchar(20) not null,score float(20,2),phone bigint(20) default 17688889999,time date);常见的数据类型:1,int :整数,整数数字,只能保存4个字节的数字,也是就保存的范围±21474836472,bigint :大整型,大整数,只能保存整数数字,但是保存的范围比 int 要大,可以保存8个字节的数字3,float :浮点数,带小数位的数字,(20,2)前面的20也是表示数据的宽度,后面的2表示显示小数位后两位,保存4个字节的数据4,double :浮点数,大浮点数,保存8个字节的数据5,date :日期格式数据,保存日期,固定格式 YYYY-MM-DD,所以在定义时不需要再字段后面加括号说明长度6,char :字符串,保存字符串,固定存储长度,固定占磁盘的255个字节7,varchar :字符串,可变长字符串,存储时占用磁盘的空间是不固定,最多占2^16个字节char() 和 varchar() 括号中的数字表示内容显示的长度,例如 varchar(20),表示插入的数据最多显示20个字母或者特殊字符,如果是汉字显示,utf-8编码格式的汉字会显示6个汉字和一个乱码,GBK编码格式的汉字就显示10个汉字,一个utf-8汉字占3个字符位,一个GBK编码格式的汉字占2个字符位约束:1,primary key :主键约束,一张表中只能有一个主键约束,特点:表中主键字段的值唯一,而且不能为空2,auto_increment :自增长约束 必须要结合着主键约束使用,而且字段的类型要为数值型,如果插入数据时,不对主键字段插入值则会自动在主键字段中的值中匹配最大值+13,not null :非空约束,表示对应字段不能为 空值null4,default : 默认值约束 ,对有默认值约束的字段,如果插入数据时,不对该字段插入数据则直接赋予一个已经定义的默认值desc +表名:查看对应表的结构修改表结构:alter table:修改表 alter table test rename test1; ==》修改表 test表重命名为test2表 alter table test1 rename test; ==》修改表 test1表重命名为test表 alter table test change id sid int(4); ==》修改表 test表改变id字段为sid字段属性为interesting(4) alter table test change sid sid int(4) auto_increment; ==》修改表 test表改变sid字段为sid字段属性为int(4),包含自增长约束 alter table test add class char(10); ==》修改表 test表添加class字段属性为char(10) alter table test add sex varchar(3) first; ==》修改表 test表添加sex字段属性为varchar(3),并放在第一位 alter table test add age int(2) after score; ==》修改表 test表添加age字段属性为int(2),并放在score字段之后 alter table test drop sex; ==》修改表 test表删除sex字段 alter table test drop age,drop class; ==》修改表 test表删除age字段和class字段 alter table test add(sex varchar(5),age int(10)); ==》修改表 test表同时添加sex字段属性为varchar(5)和age字段属性为int(10) alter table test change sex sex varchar(5) after name; ==》修改表 test表改变sex字段属性为varchar(5),并放在name字段之后 alter table test modify age int(5) after sex; ==》修改表 test表更改age字段属性为int(5),并放在sex字段之后 *modify和change都可以修改表中字段的定义,但是change使用相对不那么方便,因为要写两次字段名,modify则不用,但是modify不能对字段名进行重命名 删除主键约束: mysql> alter table test drop primary key; ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key 但是删除失败,因为表中的主键字段sid,是有自增长约束,而自增长约束又必须要依赖主键约束所以直接删除主键约束时,会报错,需要先删除自增长约束才可以删除主键约束 1,首先要删除自增长约束,可以通过modify或者change的方式修改表字段的属性就可以删除自增长 alter table test modify sid int(4); ==》修改表 test表更改为sid字段属性为int(4) ==》删除了自增长约束 2,删除表中主键约束: alter table test drop primary key; ==》修改表 test表删除主键 3,添加主键约束: (1)可以通过modify、change的方式进行添加: alter table test change sid sid int(5) primary key; ==》修改表 test表改为sid字段属性为int(5),包含主键 ==》添加了主键 (2)通过add primary key的方式添加 alter table test add primary key(sid,name); ==》修改表 test表给sid字段和name字段添加了复合主键 复合主键:在一个表中,只能有一个主键约束,但是这个主键约束可以放在多个字段上。 主键特点:表中主键字段的值唯一,而且不能为空 复合主键特点:多个复合主键字段上的值,组合后不能存在全为空,且组合后不能出现重复的情况 create table test2 like test; ==》创建表 test2表像test ==》创建表 将test表复制并命名为test2 drop table test2; ==》删除表 test2
页: [1]
查看完整版本: 6.2笔记文档