MySQL基础

MySQL基础

1.数据库概述

1.1数据的存储方式

​ Java中创建对象: Student = new Student(1,“张三”);存在内存中

学习了Java IO流,把数据保存到文件中

存储位置优点缺点
内存速度快不能永久保存,数据是临时状态
文件数据可以永久保存操作数据不方便,查询某个数据
数据库1)数据可以永久保存2)查询速度快 3)对数据的管理方便占用资源需要购买

1.2什么是数据库

​ 1).存储数据的库

​ 2).本质上是一个文件系统,还是以文明的方式存在服务器的电脑上的.

​ 3).所有的关系型数据库都可以使用通用的SQL语句进行管理 DBMS DataBase Management System

2.SQL的概念

2.1什么是SQL

结构化查询语言

2.2SQL作用

1).是一种所有关系数据型数据库的查询规范,不同的数据库都支持

2).通用的数据库操作语言,可以用在不同的数据库中

3).不同的数据库SQL语句有一些区别

2.3SQL语句分类

1)DDL数据定义语言 如:建库,建表

2)DML数据操纵语言 如:对表中的记录操作增删改

3)DQL数据查询语言 如:对表中的查询操作

4)DCL数据控制语言 如:对用户权限的设置

2.4MySQL的语法

1).每条语句以分号结尾

2).SQL中不区分大小写,关键字中认为大写和小写是一样的

3).3中注释

注释的语法说明
–空格单行注释
/* */多行注释
#这是mysql特有的注释方式

3.DDl操作数据库

3.1创建数据库

3.1.1创建数据库的几种方式

​ 创建数据库

​ create database 数据库名;

​ 判断数据库是否已经存在,不存在则创建数据库

​ create database if not exists 数据库名;

​ 创建数据库并指定字符集

​ create database 数据库名 character set 字符集;

--创建数据库

	create database  db1;

--判断数据库是否已经存在,不存在则创建数据库

	create database if not exists db2;

--	创建数据库并指定字符集

	create database db1 character set gbk;

3.2查看数据库

3.2.1按tab键可以自动补全关键字
--查看所有的数据库
show databases;
--查看某个数据库的定义消息
show create database db3;
show create database db1;
3.2.2修改数据库
/* 
	修改数据库默认的字符集

	alter database 数据库名 default character set 字符集;
	具体操作
	将db3 数据库的字符集改成utf8
*/
alter database db3 default character set utf8;
3.2.3删除数据库
/*
	删除数据库的语法
	
	drop database 数据库名;
	具体操作
	删除db2数据库
*/
	drop database db2;
3.2.4使用数据库
/*
	1.查看正在使用的数据库
	select database(); 使用的一个mysql中的全局函数
	2.使用/切换数据库
	use 数据库名;

*/
--具体操作
--查看正在使用的数据库
	select database();
--改变要使用的数据库
	use db4;

4.DDL操作表结构

*前提先使用某个数据库

4.1创建表

/*
	创建表的格式
	create table 表名{
		字段名1 字段类型1,
		字段名2 字段类型2
	
	};
	关键字说明
	create --->创建
	table --->表
*/

4.2MySQL数据类型

4.2.1常使用的数据类型如下:
类型描述
int整型
double浮点型
varchar字符串型
date日期类型,格式为 yyyy-MM-dd,只有年月日,没有时分
4.2.2详细的数据类型如下:
分类类型名称类型说明
整型tinyInt微整形:很小的整数(占8位二进制)
smallint小整型:小的整数(占16位二进制)
mediumint中整型:中等长度的整型(占24位二进制)
int(integer)整型:整数类型(占32位二进制)
小数float单精度浮点数,占4个字节
double双精度浮点数,占8位字节
日期time表示时间类型
date表示日期类型
datetime同时可以表示日期和时间类型
字符串char(m)固定长度的字符串,无论使用几个字符都占满全部,M为0~255之间的整数
varchar(m)可变长度的字符串,使用几个字符就占用几个,M为0~65535之间的整数
大二进制tinyblobBigLargeObject允许长度0~255字节
blob允许长度0~65535字节
mediumblob允许长度0~167772150字节
longblob允许长度0~4294967295字节
大文本tinytext允许长度0~255字节
4.2.3具体操作
--创建student表包含id,name,birthday字段

create table student
	{
		id int, --整数
		name varchar(20), --字符串
		birthday date	--生日,最后没有逗号
	};

4.3查看表

1).查看某个数据库中的所有表

​ show tables;

2).查看表结构

​ desc 查看表结构

3).查看创建表的SQL语句

​ show create table 表名;

--具体操作

#查看 day数据库中的所有表
use day;
show tables;

#查看student 表结构
desc student;

#查看student的创建表SQL语句
show create table student;
--执行结果:
CREATE TABLE `student` ( 
    `id` int(11) DEFAULT NULL, 
    `name` varchar(20) DEFAULT NULL, 
    `birthday` date DEFAULT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8
`存在的目的是为了避免关键字的冲突

4.4快速创建一个表结构相同的表

--语法
create table 新表名 like 旧表名;
--具体操作
#创建s1表结构和student表结构相同
create table s1 like student;

desc s1;

4.5删除表

/*
	1.直接删除表
		drop table 表名;
	2.判断表是否存在,如果存在则删除表
		drop table if exists 表名;
*/
--具体操作
#直接删除s1表
drop table s1;
#判断表是否存在并删除s1表;
drop table if exists s1;

4.6修改表结构

/*
1.添加列表add

	alter table 表名 add 列名 类型;
2.修改列类型 modify
	alter table 表名 modify 列名 新的类型;
3.修改列名change
	alter table 表名 change 旧列名 新列名 类型;
4.删除列 drop
	alter table 表名 drop 列名;
5.修改表名 rename to
	rename table 表名 to 新表名;
6.修改字符集 character set 字符集;
	alter table 表名 character set 字符集;

*/
--1.为学生表添加一个新的字段 remark,类型为varchar(20)
	alter table student add remark varchar(20);
	
--2.将student表中的remark字段的类型改成varchar(100)
	alter table student modify remark varchar(100);
	
--3.将student表中的remark字段名改成intro 类型 varchar(30)
   alter table student change remark intro varchar(30);
   
4.将student表中的字段intro删除
	alter table student drop intro;
	
5.将学生表student改名为student2
	rename table student to student2;
	
6.将学生student2表的编码修改为gbk
	alter table student2 character set gbk;

5.DML操作表中的数据(用于对表的记录进行增删改操作)

5.1插入记录

/*
	insert into 表名 (字段名1,字段名2...)values(值1,值2..);
	insert into 表名:表示往那张表中添加数据
	(字段1,字段2...):要给那些字段设置值
	values(值1,值2..):设置具体值
	
	
	1)插入全部字段
	方式1:
	所有字段名都写出来
		insert into 表名 (字段名1,字段名2...)values(值1,值2..);
	方式2:
	不写字段名
		insert into 表名 values(值1,值2,值3..);
	
	2)插入部分数据
	insert into 表名 (字段名1,字段名2...)values(值1,值2..);
	注:没有添加的数据的字段会使用null
	
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值