一.数据库
1. 数据库的概念
用来存储和管理数据,最终形成类似于表格的样子,有行有列(字段)
分类:关系型数据库和非关系型数据库
关系型数据库:Mysql(免费) Oracle SqlServer
非关系型数据库:Redis
2.Mysql的安装和使用
见其他博客
3.Mysql数据库的使用
使用客户端连接服务器,操作服务器里的数据
客户端有两种:DOC窗口/可视化的工具
数据库的结构:数据库–>表–>记录(行 和 列/字段 组成的)
4.Sql:操作数据库的语言
SQL全称是结构化查询语言,对数据库里的数据进行各种操作,常见操作就是增删改查CRUD
SQL分类:
DML :数据库擦偶作语言,对数据库进行增删改查
DDL :数据库定义语言,创建库,创建表
DCL :数据库控制语言,细粒度的管理操作数据库的权限…
DQL :数据库查询语句,对数据库发起查询需求
二,常见的操作
1.库
创建库:create database[库名];create database[库名] DEFAULT CHARACTER SET utf8;
删除库:drop database[库名];
查看库:show databases;
2.表(字段/表结构)
创建表:
create table mm(name varchar(10);
age int;
sex varchar(3)
);
修改表:
alter table mm add column address varchar(20);
删除表:
drop table mm;
查看表:
show tables;
描述表(查看表结构):
desc mm;
3,记录(表数据)
查询:
select * from mm;
修改:
update mm set name="mm"
删除:
delete from mm;
新增:
mysql> insert into user2 values('jack',10,'nan','beijing');
Query OK, 1 row affected (0.06 sec)
# 注意: 值的个数必须和表里字段的个数一致,值的顺序也必须和字段的顺序一致
# 如果设置了主键自增,可以使用null来代替,但是不能不写
mysql> insert into user2 values('jack',10,'nan');
ERROR 1136 (21S01): Column count doesn't match value count at row 1
# 注意: 粗暴的解决中文乱码的方案
mysql> set names gbk;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into user2 values('jack',10,'男','郑州');
Query OK, 1 row affected (0.06 sec)
# 要先解决中文乱码问题,否则插入中文会ERROR
ERROR 1406 (22001): Data too long for column 'sex' at row 1
4复习
#向dept表中插入数据
INSERT INTO dept VALUES(10,'php开发部','中鼎大厦');
INSERT INTO dept VALUES(11,'ios开发部',NULL);
#只给指定的字段设置值,表名(指定的字段名)
INSERT INTO dept(deptno) VALUES(100);
INSERT INTO dept(deptno,loc) VALUES(100,'上海');
#查询,可以查指定的列,也可以查所有列*
SELECT * FROM dept
SELECT loc FROM dept
SELECT deptno,dname FROM dept
#修改
UPDATE dept SET loc='北京'
#删除
DELETE FROM dept