MySQL:SQL结构化查询语言

一.数据库

将数据持久化的容器

1.数据持久化:将数据从内存转移到可持久化介质上(硬盘)

2.数据库类别:

a.关系型数据库

特点:1)理论基础:集合论和关系代数
     2)用二维表来组织数据:一行叫一条记录,一列叫一个字段(单列可以最多放4G的字符集)
     3)关系型数据库有自己的编程语言:SQL(结构化查询语言)
关系型数据库产品SQL:
   Oracle -- 甲骨文产品(付费)
   MySQL -- 甲骨文产品(社区版免费)
         -- MariaDB(和MySQL一样)
   DB2 -- IBM产品
   SQLServer -- 微软产品(要用windows系统,所以不常用)
   PostgreSQL
   SQLite
非关系型数据库NoSQL:
  MongoDB -- 文档数据库 -- 适合量大价值价值又低的数据类型
  redis -- kv数据库(键值对) -- 性能特别好 -- 适合做项目中告诉缓存服务
  ElasticSearch -- 搜索引擎

2.Linux系统中安装mysql5.7工具

a.包管理工具 -- yum(黄狗更新器)、rpm(红帽子)

b.Docker -- 虚拟化服务,创建虚拟化容器并安装软件

 yum -y install docker-io -- 安装docker虚拟机
 yum info docker -- 查看软件
 yum search docker -- 搜索软件信息

 启动Docker服务:
    systemctl start docker -- 启动docker服务
    systemctl restart docker -- 重新启动docker服务
    systemctl status docker -- 查看docker状态 
    systemctl stop docker -- 停止docker服务
    systemctl enable docker -- 开机启动docker服务
    systemctl disable docker -- 关闭开机启动docker服务

使用docker命令:
1.docker images -- 查看已经下载的镜像文件(安装包)
2.docker pull mysql:5.7 -- 下载MySQL镜像文件
      MySQL 数据库超级管理员:root
      Oracle 数据库超级管理员 : sys
3. docker run -d -p 3306:3306 --name mysql57 -e MYSQL_ROOT_PASSWOED=123456 mysql:5.7 -- 创建并运行mysql容器
    -d  -- 关闭服务器时关闭mysql
    -p  -- 传输端口
    3306:3306 -- 输出和输入端口(输出是数据库输出给用户可以自定义,输入必须是3306,阿里云服务器默认的)
    -name -- 给容器取名字
    -e -- 创建账户、密码
4.docker ps : 查看运行中的容器
5.docker container ls -a -- 查看所有容器
6. 停止docker中的mysql容器 -- docker stop mysql57
7. 启动docker中的mysql容器 -- docker start masql57
8. 删除docker中的mysql容器 -- docker rm -f masql57

c.windows安装mysql客户端工具:

Navicat for MySQL -- 猫
SQLyog -- 海豚
Toad for MySQL -- 蛤蟆

二.创建并管理数据库:SQL -- 结构化查询语言

删除和更新数据谨慎使用,大部分数据库数据不能找回

1.SQL语言分为三组:

  a.DDL(数据定义语言):creat(创建)、drop(删除)、alter(修改)
  b.DML(数据操作语言):insert(插入)、delete(删除)、update(更新)、select(查询)(重点掌握对象)
  c.DCL(数据控制语言):grant、revoke、commit、rollback

2.创建数据库:

如果存在名为srs数据库就删除(mysql没有找回删除的技术,删除需谨慎)
drop database if exists srs;
创建数据库取名srs(学生逃课系统)不区分大小写
默认的字符集是latin1 -- iso-8859-1
create database srs default charset utf8;
切换到srs数据库
use srs;
创建二维表:
创建学生表tb_student:
在学生表中学号可以是唯一的标记一条学生记录
我们通常称这样的列为主键列(主键)
定义列:
create table tb_student
(

学号:整型,不为空,添加注释:学号
stuid int not null comment '学号',

姓名:不定长字符(最多10个字符),不为空,注释:姓名
stuname varchar(10) not null comment '姓名',

性别:比特类型,默认值1,注释 :性别
stusex bit default 1 comment '性别',

出身日期 :date类型,默认为空,注释:出身日期
stubirth date comment '出身日期',

住址:定长字符(最长255),注释:住址
stuaddr varchar(255) comment '住址',

设置 主键为stuid
主键冲突或者出现重复值会报错:Error:Duplicated Entry
primary key (stuid)
);
修改学生表:
添加联系方式列(定长字符串11个字符)
alter table tb_student add column stutel char(11);

修改学生表:删除练习方式列:
alter table tb_student drop column stutel;

修改学生表:插入数据:
insert into tb_student values(1001,'龙哥',1,'1990-11-11','四川成都');
insert into tb_student (stuid,stuname) values(1002,'轻语');
insert into tb_student values
(1003,'罗叔羲',0,'1990-2-23','四川成都'),
(1004,'罗姝',1,null,null),
(1005,'龙哥1',default,null,null);

删除数据:
delete from tb_student where stuid=1001;

删除主键在1003到1005之间的学生:
delete from tb_student where stuid>=1003 and stuid<=1005;
delete from tb_student where stuid in (1003,1004,1005);
delete from tb_student where stuid between 1003 and 1005;

慎用:截断表(删除数据,保存属性,删除后不可逆转,不可找回数据)-- truncate table tb_student

更新学号为1003和1004的两个学生的生日(set表示后面的第一个=号为赋值符号,不加set的等号表示等于符号,和python不一样)
update tb_student set stubirth='1990-1-1' where stuid=1002 or stuid=1004;
update tb_student set stuname='王小美',stusex=0,stuaddr='四川自贡' where stuid=1002;
update tb_student set stuaddr='四川绵阳' where stuaddr is null;
查询数据:
查看所有的数据信息:
select * from tb_student;

筛选得到所有性别 为0的学生
select * from tb_student where stusex=0;

投影所有学生的姓名和生日
select stuname,stubirth from t_student;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容