MySql总结一

数据库

1.概述

分类

数据库分为关系型数据库和非关系型数据库。

(1)关系型数据库的底层是以二维表的形式保存数据,如mysql,Sql Server, Oracle,sqlite等;
(2)非关系型数据库的底层是以key-value的形式保存数据,如redis, mongodb等

名字解释

数据库服务器: 将服务器软件安装在电脑上,就可以作为一台服 务器对外提供服务。
数据库:一个网站中所有数据存放的地方;
:一个数据库中可以创建多张表,存放数据,表中保存一类数据;
表记录:一行表记录用来保存一个具体的数据;
SQL语言:(简称Structed Query Language)结构化查询语言,通过sql语言可以操作所有的关系型数据库。

2.mysql的下载和安装

(1) 找到官网:https://www.mysql.com/;
(2)依次点击 download->MySql Community(GPL) Downloads->->MySql Community Server,找到对应的下载版本;
(3)安装。

安装完成后需要配置环境变量
1> 添加新的环境变量MYSQL_HOME;将bin的上一级目录添加到该变量中;
2>在path上添加%MYSQL_HOME%\bin;

3.安装完成后,在命令窗口常用的命令语句:

(1)连接mysql:

mysql -uroot -proot;

(2)启动mysql服务

1.按下“Win+R”;  2.输入services.msc  3.找到mysql启用;

(3)退出数据库

quit 或 exit 或 \q

(4)sql中常用的注释:#, /* */, --空格;
(5)使用 \c 取消当前sql语句的执行;
(6)设置编码

set name gbk;

4.常用的数据库及表操作

注意事项:
(1)sql语句对大小写不敏感,推荐关键字使用大写,自定义的名称使用小写;
(2)在自定义名称时,针对多个单词,不要使用驼峰命名,而是使用下划线连接;

4.0 MySql的数据类型

(1) 数值类型:

tinyint:占用1个字节,相对于java中的byte
smallint:占用2个字节,相对于java中的short
int:占用4个字节,相对于java中的int
bigint:占用8个字节,相对于java中的long
float:4字节单精度浮点类型,相对于java中的float
double:8字节双精度浮点类型,相对于java中的double

(2) 字符串类型:

A char(n) 定长字符串,最长255个字符。n表示字符数

所谓的定长,是当插入的值长度小于指定的长度时,
剩余的空间会用空格填充。(这样会浪费空间)

B varchar(n) 变长字符串,最长不超过 65535个字节,n表示字符数,一般超过255个字符,会使用text类型,

所谓的不定长,是当插入的值长度小于指定的长度时,
剩余的空间可以留给别的数据使用。(节省空间)

C text类型: 最长65535个字节,一般超过255个字符列的会使用text

(3) 日期类型:

date:年月日
time:时分秒
datetime:年月日 时分秒
timestamp:时间戳(实际存储的是一个时间毫秒值),与datetime存储日期格式相同。

两者的区别是:
(1)timestamp最大表示2038年,而datetime范围是1000~9999
(2)timestamp在插入数、修改数据时,可以自动更新成系统当前时间

4.1库相关操作

(1) 查看mysql服务器中所有的数据库:

show databases;

(2) 进入某一数据库:

use 库名; (eg: use test;)

(3) 查看已进入的数据库名称:

SELECT DATABASE();

(4) 查看当前数据库中的所有表:

show tables;

(5) 删除数据库:

DROP DATABASE 库名;  
DROP DATABASE IF EXITS 库名;

(6) 创建数据库,指定编码:

CREATE DATABASE 库名 charset utf8;

(7)查看创建数据库时所使用的sql语句

SHOW CREATE DATABASE 库名;

4.2表相关操作

(1)删除: 如果学生表存在,就删除

DROP TABLE IF EXISTS stu;

(2)创建stu学生表

CREATE TABLE stu {
	id int,
	name varchar(20),
	gender varchar(5),
	birthday date,
	score double
};

(3)给学生表插入数据
语法: INSERT INTO 表名 (列名1,列名2,...) VALUES (值1, 值2,...);

举例:INSERT INTO stu values(1, '张飞', '男', '1978-1-1');

注意
A. 为所有列插入值时,可以省略列名,但值得个数和顺序必须和声明时列的个数和顺序保持一致;
B. sql语句中为字符串和date类型的数据赋值时,需要加单引号(双引号有时可能会报错);

(4) 查询stu表中所有学生的数据:

select * from stu;

(5) 修改表中的数据

UPDATE 表名 set1=1,2=2... where 子语句;

如:修改编号为1的成绩:

update stu set score = 83 where id = 1

(6) 删除stu表中的数据

delete from 表名 where 子语句;

如:

delete from  stu where id > 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值