湖南
day01数据库
一.数据库
1.概述
专门用来存储数据和管理数据库的一个仓库.英文叫database
分类:关系型和非关系型
- 关系型数据库:存的数据都有关系,代表是:Mysql/Oracle...
- 非关系型数据库:存的数据之间有着松散的关系,代表是:Redis
2.安装
-
服务端:存储数据,管理数据
端口号默认是3306,设置密码,服务名叫MySQL,安装路径不要包含中文!!! -
客户端:连接服务端,操作服务端的数据
两种形式:DOS窗口/可视化工具sqlyog等软件 -
数据库的结构
数据库->表(字段1...)->数据/记录
二.SQL语言
1.概述
全称是结构化查询语言,专门用来操作数据库的语言
而且是一个标准语言,可以操作任何数据库
2.SQL的分类
DML:是指数据库的操纵语言,就是对数据的操作(新增,修改,查询,删除CRUD)
DDL:是指数据库的定义语言,比如说创建表...
DCL:是指数据库的控制语言,比如说权限管理
DQL:是指数据库的查询语言,比如进行复杂的查询语句
三.数据库的常见操作
1.查询
show database
2.新建
3.删库!!!
四.表的常见操作
1.使用数据库
2.查询
3.创建
语法:create table 表名(字段名称 字段类型(字段长度),字段2,字段3)
mysql> create table student(
-> id int(3),
-> name varchar(10),
-> age int(3)
-> );
练习:创建门店表
mysql> create table tb_door(
-> id int(11),
-> door_name varchar(100),
-> tel varchar(20)
-> );
4.修改
1. 添加列
alter table 表名 add column 列名 类型 【first|after 字段名】;
2. 修改列的类型或约束
alter table 表名 modify column 列名 新类型 【新约束】;
3. 修改列名
alter table 表名 change column 旧列名 新列名 类型;
4. 删除列
alter table 表名 drop column 列名;
5. 修改表名
alter table 表名 rename 【to】 新表名;
6. 将某一列放到第一列
alter table 表名 modify column 列名 类型 first;
5.删除
6.描述表结构
五.记录的常见操作
1.查询
语法:select * from 表名
2.插入
语法:insert into 表名 values(1,2,3)
注意:
- values后面括号里,要写几个值? 参考表里字段的个数,要和字段的个数匹配
- 值的意义是什么呢? 要和字段的顺序位置匹配.每个值交给每个对应字段来保存
- 值的写法有一些细节??? 如果字段是varchar类型,值必须有字符串的标识(单引号 / 双引号)
3.修改
4.删除
六.总结
1.常用命令
查询所有数据库: 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.细节
1,数字:
整型 tinyint / int 小数float / double 精确的小数 numeric(5,2) / decimal(5,2)–5是指有5位数字,2是指包含着的小数位数
2,日期:
年月日 date 时分秒 time 年月日时分秒 datetime 毫秒数 timestamp时间戳
3,字符串:
char和varchar的区别?
前者,长度固定,浪费空间,但查询高效.
后者,长度可变,节省空间,但查询相对低效.
八.字段约束
1.概述
是通过不同的方式,给不同的字段添加不同的约束,实现不同效果
常见的字段约束:非空约束/唯一约束/主键约束...
通常在设计表时,就已经设计好了表里一些字段的约束情况
2.非空约束
哪个字段,添加了非空约束,哪个字段的值,从此,必须有值不能为空.使用not null来实现
3.唯一约束
哪个字段,添加了唯一约束,哪个字段的值,从此,必须唯一不能重复.使用unique来实现