java大数据学习---第二阶段---第一天-----------数据库 SQL 数据库的常见操作 表的常见操作 表数据/记录的常见操作 数据类型 字段约束

一.数据库

–1.概述

专门用来存储数据和管理数据库的一个仓库------英文名: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)  /* 字段格式: 字段名称 字段类型(字段长度)*/
    /**
    例子:在cgb211101数据库中创建一个student表格
    1>.use cgb211101; //使用cgb211101数据库
    2>.show tables;   //查看cgb211101库中的所有表
    3>.create table student(  //创建student表
    		ID int(3),  //定义id 类型为int 长度为3
    		name varchar(10), //定义name 类型为varchar 长度为10 在SQL中字符串类型用varchar  字节类型用tinyint
    		age int(3) //定义age 类型int 长度3 
    		); //  不同的属性字段中间用 , 隔开    
    */
    
   // 备注: 不可以创建同名表
   // 字段长度:整数的限制不住所以不用写字段长度  字符串必须在规定长度内

3.查看某个表的具体结构/设计表

desc 表名;  //desc 描述   作用 描述查看表的结构  
/*例子:
MariaDB [cgb211101]> desc tb_door;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| id        | int(11)      | YES  |     | NULL    |       |
| door_name | varchar(100) | YES  |     | NULL    |       |
| tel       | varchar(20)  | YES  |     | NULL    |       |
+-----------+--------------+------+-----+---------+-------+
*/

4.修改表

  • 添加表的行或列

    alter table 表名 add 行/列 字段名 字段类型(字段长度); //行row         列:column     删除用drop
    /*例子:
    alter table tb_door add column address varchar(100);  给tb_door表添加列 address
    
    */
    
  • 删除表的行或者列

    alter  table 表名 drop 行/列 字段名 字段类型(字段长度);
    

5.删除表

drop table 表名;

五 ,表记录的常见操作

1.查询指定表的具体记录/数据

select * from 表名  //查看指定表的所有数据  什么都查看用*通配符       

2.新建/插入记录/数据

insert into 表名 values(1,2,3,4,5,6);//注意:表里有几个字段 values就有几个值,且顺序和类型要一致,每个值交给每个对应的字段来保存
/*insert into student values(100,"jack",18);  字符串类型必须加 "" 或者 '' 
查看记录:
MariaDB [cgb211101]> select * from student;
+------+------+------+
| id   | name | age  |
+------+------+------+
|  100 | jack |   18 |
+------+------+------+


防止中文乱码的解决方案,并且这个方案只执行一次:
set names gbk;*/

3.修改数据

update 表名 set 字段名=字段值;//值的类型要匹配 
//Ctrl+c 强制退出dos命令窗口
/*如果要修改多个字段名额的值 可以用逗号隔开:update 表名 set 字段名=字段值,字段名=字段值,字段名=字段值,....;
update student set name="Jack",age=15;
select * from student;
+------+------+------+
| id   | name | age  |
+------+------+------+
|  100 | Jack |   15 |
|  200 | Jack |   15 |
+------+------+------+*/

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值