数据库01

数据库

1. 概念

1.1 什么是数据库?

即对数据进行存储和管理的仓库。

1.2 分类

关系型数据库:早期发展的数据库建立在数据的紧密关系基础之上(如父子关系等),称为关系型数据库(传统数据库)。

Oracle、MySQL、SQLServer、Access等。

非关系型数据库:现今数据库建立在数据的松散关系基础上(如中国人和外国人),我们称其为非关系型数据库nosql(not only sql)

MongoDB、Redis、Solr、ElasticSearch、Hive、HBase等。

1.3 Mysql数据库

MySQL服务端:处理具体数据维护,保存磁盘。

MySQL客户端:用于对数据进行新增、修改、删除和查询,简称增删改查(CRUD)。

1.4 检查Mariadb安装

方式1:win+r打开了运行的对话框,输入cmd回车。输入固定的命令:mysql -uroot -p,回车后输入密码即可。
方式2:打开开始菜单,找到Mariadb,打开 Mariadb MySql Client,直接输密码回车

2. SQL语句

2.1 定义

SQL结构化查询语言(Structured Query Language)的简称,用于存取数据、查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。

2.2 分类
  • DML 数据操纵语言

    对数据进行新增(Create)、删除(Delete)、修改(Update)、查询(Retrieve),简称CRUD。还可插入(insert)、检索(select)等操作。

  • DDL 数据库定义语言

    如:create table(创建表)、创建库等。

  • DCL 数据库控制语言

    分配具体操作数据的权限,如:grant、deny、revoke等。

  • DQL 数据查询语言

    主要是对数据的查询

注:SQL不区分大小写

3. 数据库常用操作

展示所有数据库
show databases;
新建数据库
create database 库名;
指定字符集创建数据库
create database 库名 default character set utf8;
删除数据库(慎用!!!)
drop database 库名;

4.表的常见操作

1. 创建表格
create table 表名(字段名1 字段类型1(字段长度1),字段名2 字段类型2(字段长度2),字段3...);
	例:
	create table student(
		id int,
		name varchar(10),
		sex varchar(10)
		);
2. 删除表格
drop table 表名;
3. 查看所有表
show tables;
4. 修改表中某字段数据
alter table 表名 add column addr varchar(100);
desc 表名;
5.描述表
desc 表名;

5. 数据增删改查操作命令

1. 给表中字段插入值
insert into 表名 value(1000,'first',"010-5125423","bj");
注:插入的值类型必须与创建表格时一致,有几个字段就需赋予
    几个值,varchar 类型必须用""''包裹。
2. 修改字段的值
update 表名 set addr = "shanghai";
3. 查询字段的对应的值
select id from 表名;  只查id列的值
select id,addr from 表名;   查id和addr列的值
select * from 表名;   查看所有列的值----低效

6. SQL数据类型

6.1 命名规则
  1. 字段名必须以字母开头,需做到见名知意,尽量不用拼音。

  2. 长度不能超过30个字符(不同数据库,不同版本会有不同)。

  3. 不能使用SQL的保留字,如where,order,group等。

  4. 命名字符只能有az、AZ、0~9、$等。

  5. Oracle习惯全大写:USER_NAME,mysql习惯全小写:user_name

  6. 多个单词用下划线隔开,如:user_name

6.2 字符

char:长度固定,其内容不足定义的长度时使用空格填充,如:char(10),若只存3个字符,其余会用空格填充。虽char的查询速度快,但浪费空间。

**varchar:**变长字符串,当其内容不足定义的长度时,其余空间不会被占用。varchar查询稍慢,但节省空间。

6.3 数字

整数类型:tinyint , int

浮点类型:float , double

decimalnumeric表示精确的整数数字

6.4 日期

date—包含年月日

time—包含时分秒

datetime包含年月日和时分秒

7.字段的约束

#没有约束时,id的值可以重复,可以是null
create table a1(id int)
#主键约束,id的值不能重复,也不能是null
create table a2(id int primary key)

#主键约束自动递增,id的值可以重复,可以是null
create table b(id int primary key auto_increment)

#没有非空约束,字段值可以为空
create table c1(name varchar(10))
#非空约束,字段值不能为空
create table c2(name varchar(10) not null)

#不用唯一约束:字段的值可以重复
create table d1(name varchar(10))
#唯一约束:字段的值不能重复
create table d1(name varchar(10) unique)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值