数据库常见操作以及字段约束

一.数据库

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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘刘刘刘刘先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值