文章目录
一.数据库
1.概述
存储数据,管理数据的仓库
2.分类
2.1 关系型数据库:是指村的数据有关系,一行就是一个用户啊的信息,每列就是要具体描述的数据.MySQL/Oracle…
2.2 非关系型数据库:是指数据见的关系不紧密.Redis/Solr…
2.3 结构
数据库 - 表 - 记录
增删改查 CURD
2.4 MySQL
2.4.1 是免费的,是关系型数据库.
2.4.2 服务器端: 真正存数据的,安装.(采用的端口号3306,密码root,字符集utf-8)
2.4.3 检测:连接服务器,访问服务器里的数据.安装.
i. 打开开始处的DOS窗口输入密码,显示Welcome就成功了
ii. 打开运行对话框(win+r)输入cmd-执行以下mysql命令-显示Welcome就成功了
C:\Users\Administrator>mysql -uroot -proot
iii. 使用图形化界面客户端.Navicat/sqlYog
2.5 SQL是结构化查询语言,用来操作数据库
DML:数据操纵语言(CRUD)
DDL:数据定义语言(create…)
DCL:数据控制语言(分配权限)
二.常见的操作
1.查看数据库
show databases;
2.新建数据库
create database cgb2104;
show databases;
3.删除数据库
drop database cgb2104;
show databases;
4.使用数据库
use cgb2104;
5.查看表
show tables;
6.创建表
create table 表名 (字段1,字段2,字段3);
create table 表名 (字段名称 字段类型(字段长度),字段名称 字段类型(字段长度));
create table user(
id int(3),
name varchar(10)
);
创建学生表,包含id name addr age字段
create table student(
id int(10),
name varchar(100),
addr varchar(150),
age int(3)
);
7.删除表
drop table student;
8.查看表结构
desc user;
9.修改表
添加age字段/列
alter table ??? add column 字段名 字段类型(字段长度)
alter table user add column age int(2);
10.新增表的记录
insert into 表名 values(字段1的值,字段2的值,字段3的值);
nsert into user values(1,'jack',20);
insert into user values(2,'rose',18);
insert into user values(2,'tony',30);
11.查询表的记录
select * from 表名;
select * from user;
12.修改表的记录
update 表名 set 字段名 = 新值
update user set age = 20 ;
13.删除表的记录
delete from 表名;
delete from user;
三.字段约束
1.概述
可以给字段添加各种约束条件
2.主键约束
给字段添加主键约束,这个字段的值唯一并且不能为空.
自动递增,这个字段的值由数据库自动维护,从1开始依次按照+1变大
create table a(id int primary key auto_increment);
3.非空约束
让非空约束的列,值 不能为空
create table b(
id int primary key auto_increment,
name varchar(10) not null
);
mysql> insert into b values(null,'jack');
Query OK, 1 row affected (0.04 sec)
mysql> insert into b values(null,null);
ERROR 1048 (23000): Column 'name' cannot be null
4.唯一约束
给字段加唯一约束,实现字段的值必须唯一
create table c(
id int primary key auto_increment,
name varchar(10) unique
);
mysql> insert into c values(null,"jack");
Query OK, 1 row affected (0.04 sec)
mysql> insert into c values(null,"jack");
ERROR 1062 (23000): Duplicate entry 'jack' for key 2