MySql
数据库
什么是数据库?什么是数据库管理系统?什么是SQL?三者的关系是什么?
- 数据库是按照一定格式存储数据的一些文件的组合,顾名思义:存储数据的仓库,实际上就是一堆文件。这些文件具有特定格式的数据
- 数据库管理系统 俗称:DBMS,数据管理系统是专门来管理数据库中的数据,数据库管理系统可以对数据库当中的数据进行增删改查
- SQL :结构化查询语言
程序员需要学习SQL语句,程序员通过编写SQL语句,然后DBMS复制执行SQL语句,最终来完成数据库中数据的增删改查 - 三者之间的关系
DBMS------执行-----> SQL ------操作--------> DB
端口号
- 端口号port是任何一个软件/应用都会有的,端口号是应用的唯一代表
- 端口号通常和IP地址在一块,IP地址用来定位计算机的,端口号port是用来定位计算机上的某一个服务的
- 在同一台计算机上,端口号不能重复,具有唯一性
- 数据库的默认端口号为3306
创建数据库的三种方式
create database db1;
直接创建
create database db1 if not exists db1;
进行判断如果没有此数据库便创建数据库
create database db1 if not exists db1 default character set utf8;
判断有没有此数据库没有就创建并设置默认的字符编码格式
在对某个表进行操作时要先对这个表所在的数据库进行操作
人话:先进入你要操作的数据库,再进行建表操作
use 数据库;
建表:常用的数据类型
char() 和 varchar() 的区别
==char固定长度 ==
varchar可变长度
- char长度固定,不足使用空格填充,最多容纳2000个字符,char(11)存储abc,占11位。查询速度极快但浪费空间
- varchar变长字符串,最多容纳4000个字符,varchar(11)存储abc,只占3位。查询稍慢,但节省空间。Oracle为varchar2
- 大文本: 大量文字(不推荐使用,尽量使用varchar替代)
建表
create table student( stuName varchar(20), age int, brithday date );
mysql create table student( stuName varchar(20), age int, brithday date );
建表原则
1.先创建主表(表中的约束: 主键 非空 默认值 自增 空)
2.再创建从表(表中的约束: 主键 非空 默认值 自增 空)
3.添加主外键关系
4.添加数据时先添加主表的数据再添加从表
5.删除表中的数据时,保证修改和删除主表的数据不会导致从表的数据不受影响
使用数据库的基本指令
show databases;
查看所有数据库
create database 表名
创建数据库
drop database 表名
删除数据库
use 数据库名
表示进入某个数据库进行使用
show tables
查看所有表
create table 表名(字段1 类型, 字段2 类型)
创建表并设置字段
desc 表名
查看所在表的字段
为完善…
SQL语句的分类
DQL-数据查询语言
SELECT
DML**-数据操作语言**
insert delete update
insert 增
delete 删
update 改
DDL-数据定义语言
凡是带有create、drop、alter都是DDL
DDL主要操作的是表的结构。不是表中的数据
create :新建
drop:删除
alter:修改
TCL-事务控制语言
事务提交:commit
事务回滚:rollback
DCL-数据控制语言
授权:grant
撤销权限:revoke