专门用来存储数据和管理数据库的一个仓库------英文名:database
分类:关系型和非关系型
1.关系型数据库:存的数据都有关系,代表:MySQL/Oracle
2.非关系型数据库:存的数据之间有松散的关系或者没有关系 代表:Redies
–2.安装1.服务端:存储数据并且管理数据
端口号:3306
设置密码
服务名:MySQL
路径名:安装路径名中不要包含中文
2.客户端:链接服务端, *** 作服务端的数据
两种形式:1.DOS窗口
2.可视化工具:SQLyog
–3.数据库的结构数据库–>表(字段)—>数据/记录
二 . *** 作数据库 SQL语言1.概述:结构化查询语言 可以进行数据库的查询 ,更新 和管理等
2.全称 : 结构化查询语言,专门用来 *** 作数据库的语言,而且是一个标准语言,可以 *** 作任何数据库
3.分类
-
DML(Data Manipulation Language)数据 *** 纵语言,就是对数据的 *** 作(增删改查)
如:insert,delete,update,select(插入、删除、修改、检索)简称CRUD *** 新增Create、查询Retrieve、修改Update、删除Delete ,其中 查询需求量最多 -
DDL(Data Definition Language)数据库定义语言 比如:创建表…
如:create table之类 -
DCL(Data Control Language)数据库控制语言,比如说权限管理
如:grant、deny、revoke等,只有管理员才有相应的权限 -
DQL(Data Query Language)数据库查询语言,比如进行复杂的查询语句
如: select 语法
注意:SQL不区分大小写
1.新建
1>基本格式 但是不能传入中文 会出现乱码 create database 数据库名; 2>完整格式 可以传入中文 create database 数据库名 default character set utf8; //备注:不可以创建同名库
2查询
查询所有数据库 show databases;
3.删库!!!
删除库----只能删除存在的库 drop database 数据库名 ;
4.修改
四,常见的表 *** 作0.使用数据库:指定在哪个库中进行表 *** 作
use 数据库名; //数据库必须存在
1.查询数据库中的表
1>查看所有表 show tables;
2.创建表
create table 表名(字段1,字段2,字段3,字段4) // 备注: 不可以创建同名表 // 字段长度:整数的限制不住所以不用写字段长度 字符串必须在规定长度内
3.查看某个表的具体结构/设计表
desc 表名; //desc 描述 作用 描述查看表的结构
4.修改表
-
添加表的行或列
alter table 表名 add 行/列 字段名 字段类型(字段长度); //行row 列:column
-
删除表的行或者列
alter table 表名 drop 行/列 字段名 字段类型(字段长度);
5.删除表
drop table 表名;五 ,表记录的常见 *** 作
1.查询指定表的具体记录/数据
select * from 表名 //查看指定表的所有数据 什么都查看用*通配符
2.新建/插入记录/数据
insert into 表名 values(1,2,3,4,5,6);//注意:表里有几个字段 values就有几个值,且顺序和类型要一致,每个值交给每个对应的字段来保存
3.修改数据
update 表名 set 字段名=字段值;//值的类型要匹配 //Ctrl+c 强制退出dos命令窗口
4.删除数据
delete from 表名; //清空指定表六 总结
查询所有数据库: show databases; 创建数据库: create database 库名 default character set utf8; 删库: drop database 库名; 查询所有表: show tables; 新建表: create table 表名(字段名称 字段类型(字段长度),2,3); 字段长度:整数限制不住,字符串必须在规定长度内否则报错 删除表: drop table 表名; 修改表: alter table 表名 add column 字段名 字段类型(长度) 描述表: desc 表名 查询所有记录: select * from 表名; 新增记录: insert into 表名 values(1,2,3); 要写几个值必须和表里字段的个数匹配. 值的顺序必须和字段顺序匹配. 删除记录: delete from 表名 ; 修改记录: update 表名 set 字段名=字段值;七.数据类型
1.命名规则:
- 字段名必须以字母开头,尽量不要使用拼音
- 长度不要超过30个字符(不同数据库 ,不同版本会有不同)
- 不能使用SQL 的保留字:如where ,order, group等
- 只能使用如下字符 az、AZ、0~9、$ 等
- Oracle习惯全大写:USER_NAME,mysql习惯全小写:user_name
- 多个单词用下划线隔开,而非java语言的驼峰规则
2.字符类型:
-
char长度固定,不足使用空格填充,最多容纳2000个字符,char(11)存储abc,占11位。查询速度极快但浪费空间
-
varchar变长字符串,最多容纳4000个字符,varchar(11)存储abc,只占3位。查询稍慢,但节省空间。Oracle为varchar2
-
大文本: 大量文字(不推荐使用,尽量使用varchar替代)
-
以utf8编码计算的话,一个汉字在u8下占3个字节,
注:不同数据库版本长度限制可能会有不同
char和varchar的区别? 前者,长度固定,浪费空间,但查询高效. 后者,长度可变,节省空间,但查询相对低效.
3.数字类型:
- tinyint,int整数类型
- float,double小数类型 也会发生不精确问题
- numeric(5,2) decimal(5,2)—也可以表示小数,表示总共5个数字,其中有2位小数
- decimal和numeric表示精确的整数数字
4.日期类型:
- date 包含年月日
- time时分秒
- datetime包含年月日和时分秒
- timestamp时间戳,不是日期,而是从1970年1月1日到指定日期的毫秒数
5.图片
- blob 目前主流都不会直接存储这样的数据,而只存储其访问路径,文件则存放在磁盘上。
1.概述
是通过不同的方式给不同的字段添加不同的约束 实现不同的效果
2.常见字段约束
-
非空约束
1>概念:哪个字段添加了非空约束,那么这个字段的值就不能为空,但可以重复。 2>使用: not null 来实现 3>例子: create table test(password varchar(30) not null);
-
唯一约束
1>概念:哪个字段添加了唯一约束,那么这个字段的值就不能重复,但可以为空。 2>使用:unique 3>例子: create table test1(name varchar(30) unique);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)