MySql笔记-1

数据库

  • 学习数据库阶段内容,主要学习的就是如何对数据进行增删改查操作

DBMS

  • DataBaseManagementSystem,数据库管理系统(数据库软件)
  • 常见的DBMS:
    - MySQL: Oracle公司产品 08年被Sun收购 09年Sun被Oracle , 原MySQL团队从Oracle离职又创建了MariaDB. 市占率第一
    - Oracle:Oracle公司当家产品 市占率第二 闭源产品
    - SqlServer: 微软公司产品 , 市占率第三 闭源产品 .net编程语言+web服务软件+操作系统+数据库软件
    - DB2: IBM公司产品 闭源产品
    - SQLite: 轻量级数据库, 安装包只有几十k ,只有最基础的增删改查功能

SQL

  • Structured Query Language: 结构化查询语言.
  • 通过这门语言让程序员和数据库软件进行交流
  • 举例: insert into person values(“刘德华”,18);

和数据库软件建立连接

  • 通过命令行/终端 和数据库软件建立连接
    1. 首先检查MySQL/MariaDB服务是否开启: 在我的电脑/此电脑上右键->管理 参见下图请添加图片描述
    2. 从开始菜单中找到MySQL/MariaDB->MySQL Client 打开客户端 ,输入自己的密码(尝试root或没密码直接回车) 显示Welcome … 说明建立好了连接
    3. 退出指令: exit
    4. 建立连接指令: mysql -uroot -p 回车后输入密码 再回车
  • 通过三方的可视化工具和数据库软件建立连接

数据库相关

  • 在MySQL数据库软件中保存数据需要先建库再建表,然后再往表里面添加数据
  • 查询所有数据库
  • 格式:show databases
  • 创建数据库
    • 默认字符集格式: create database 数据库名;
    • 指定字符集格式: create database 数据库charset=utf8/gbk;
    • 举例:
      create database db1;
      create database db2 charset=utf8;
      create database db3 charset=gbk;
      show databases;
  • 查询数据库信息
    • 格式: show create database 数据库名;
    • 举例:
      show create database db1;
      show create database db2;
      show create database db3;
  • 删除数据库
    • 格式: drop database 数据库名;
    • 举例:
      drop database db3;
      drop database db2;
      5.使用数据库
    • 在执行表相关和数据相关的SQL语句之前必须使用了某个数据库,
    • 格式: use 数据库名;
    • 举例:
      use db1;

数据库相关练习题

  • 创建 mydb1和mydb2 数据库 字符集分别为utf8和gbk
    create database mydb1 charset=utf8;
    create database mydb2 charset=gbk;
  • 查询所有数据库检查是否创建成功
    show databases;
  • 检查两个数据库的字符集是否正确
    show create database mydb1;
    show create database mydb2;
  • 先使用mydb2 再使用 mydb1
    use mydb2;
    use mydb1;
    5.删除两个数据库
    drop database mydb1;
    drop database mydb2;

表相关

  • 执行表相关的SQL之前必须使用了某个数据库.
    create database newdb1 charset=utf8;
    use newdb1;
  • 创建表
  • 格式: create table 名字(字段1名 类型,字段2名 类型,…)charset=utf8/gbk;
  • 举例:
    create table person(name varchar(50),age int)charset=utf8;
    create table student(name varchar(50),chinese int,math int,english int);
  • 查询所以表
  • 格式: show tables;
  • 查询表信息
  • 格式:show create table 表名;
  • 举例:
    show create table person;
  • 查询表字段
  • 格式:desc 表名;
  • 举例:
    desc student;
  • 删除表
  • 格式; drop table 表名;
  • 举例:
    drop table student;
  • 修改表名
  • 格式: rename table 原名 to 新名;
  • 举例:
    rename table person to per;

表相关练习题

  • 创建数据库mydb3 字符集gbk 并使用
    create database mydb3 charset=gbk;
    use mydb3;
  • 创建t_hero英雄表, 有名字和年龄字段 默认字符集
    create table t_hero(name varchar(50),age int);
  • 修改表名为hero
    rename table t_hero to hero;
  • 查看表的字符集
    show create table hero;
  • 查询表字段
    desc hero;
  • 删除表
    drop table hero;
  • 删除数据库
    drop database mydb3;

相关表(续)

  • 添加表字段
    create database newdb2;
    use newdb2;
    create table emp(name varchar(30));
  • 最后面添加格式: alter table emp add 字段名 类型;
  • 最前面添加格式: alter table emp add 字段名 类型 first;
  • 某字段后面添加格式: alter table emp add 字段名 类型 after 字段名;
  • 举例:
    alter table emp add age int;
    alter table emp add id int first;
    alter table emp add gender varchar(10) after name;
  • 删除表字段
  • 格式: alter table 表名 drop 字段名;
  • 举例:
    alter table emp drop gender;
    alter table emp drop id;
  • 修改表字段
  • 格式: alter table 表名 change 原名 新名 新类型;
  • 举例:
    alter table emp change age gender varchar(10);

表相关SQL语句回顾:

  • 创建 create table 表名(name varchar(20),age int)charset=utf8/gbk;
  • 查询所有表 show tables;
  • 查询表信息 show create table 表名;
  • 表字段: desc 表名;
  • 删除表: drop table 表名;
  • 修改表名: rename table 原名 to 新名;
  • 添加表字段; alter table 表名 add 字段名 类型 first/after xxx;
  • 删除表字段: alter table 表名 drop 字段名;
  • 修改表字段; alter table 表名 change 原名 新名 新类型;

表相关练习题

  • 创建数据库mydb4 字符集utf8并使用
    create database mydb4 charset=utf8;
    use mydb4;
  • 创建teacher表 有名字字段
    create table teacher(name varchar(20));
  • 添加表字段: 最后添加age 最前面添加id , age前面添加salary工资
    alter table teacher add age int;
    alter table teacher add id int first;
    alter table teacher add salary int after name;
  • 删除age字段 alter table teacher drop age;
  • 修改表名为t rename table teacher to t;
  • 删除表 drop table t;
  • 删除数据库 drop database mydb4;

数据相关

create database mydb5 charset=utf8;
use mydb5;
create table person(name varchar(50),age int);

  • 插入数据
  • 全表插入格式: insert into 表名 values(值1,值2);
  • 指定字段插入格式: insert into 表名(字段1名,字段2名) values(值1,值2);
  • 举例:
    insert into person values(“tom”,18);
    insert into person(name) values(“jerry”);
  • 批量插入格式:
    • 全表插入格式: insert into 表名 values(值1,值2),(值1,值2),(值1,值2);
    • 指定字段插入格式: insert into 表名(字段1名,字段2名) values(值1,值2),(值1,值2);
  • 举例:
    insert into person values(“lucy”,20),(“lily”,21);
    insert into person(name) values(“lilei”),(“hanmeimei”);
  • 中文问题:
    insert into person values(“刘德华”,50);
    • 执行上面SQL语句报错的话 执行以下指令
      set names gbk;请添加图片描述
  • 查询数据
  • 格式: select 字段信息 from 表名 where 条件;
  • 举例:
    select name from person;
    select name,age from person;
    select * from person;
    select * from person where age>20;
    select age from person where name=“tom”;
  • 修改数据
  • 格式: update 表名 set 字段名=值,字段名=值 where 条件;
  • 举例:
    update person set name=‘汤姆’ where name=“tom”;
    update person set name=“杰瑞”,age=15 where name=“jerry”;
    update person set age=10 where age is null;
  • 删除数据
  • 格式: delete from 表名 where 条件;
  • 举例:
    delete from person where name=“汤姆”;
    delete from person where age>20;
    delete from person;

数据相关SQL回顾

  • 插入数据: insert into 表名(字段1名,字段2名) values(值1,值2),(值1,值2);
  • 查询数据: select 字段信息 from 表名 where 条件;
  • 修改数据: update 表名 set 字段名=值,字段名=值 where 条件;
  • 删除数据; delete from 表名 where 条件;

综合练习题

  • 创建数据库day1db 字符集utf8并使用
    create database day1db charset=utf8;
    use day1db;
  • 创建t_hero表, 有name字段 字符集utf8
    create table t_hero(name varchar(20))charset=utf8;
  • 修改表名为hero
    rename table t_hero to hero;
  • 最后面添加价格字段money, 最前面添加id字段, name后面添加age字段
    alter table hero add money int;
    alter table hero add id int first;
    alter table hero add age int after name;
  • 表中添加以下数据: 1,李白,50,6888 2,赵云,30,13888 3,刘备,25,6888
    insert into hero values(1,‘李白’,50,6888),(2,‘赵云’,30,13888),(3,‘刘备’,25,6888);
  • 查询价格为6888的英雄名
    select name from hero where money=6888;
  • 修改刘备年龄为52岁
    update hero set age=52 where name=‘刘备’;
  • 修改年龄小于等于50岁的价格为5000
    update hero set money=5000 where age<=50;
  • 删除价格为5000的信息
    delete from hero where money=5000;
  • 删除表, 删除数据库
    drop table hero;
    drop database day1db;

综合练习题2

  • 创建数据库newdb1, 字符集utf8并使用
  • 在数据库中创建员工表emp 段:id,name,sal(工资),deptId(部门id) 字符集utf8
  • 创建部门表dept 字段:id,name,loc(部门地址) 字符集utf8
  • 部门表插入以下数据: 1 神仙部 天庭 2 妖怪部 盘丝洞
  • 员工表插入一下数据: 1 悟空 5000 1 , 2 八戒 2000 1 , 3 蜘蛛精 8000 2 , 4 白骨精 9000 2
  • 查询工资6000以下的员工姓名和工资
  • 修改神仙部的名字为取经部
  • 给员工添加奖金comm字段
  • 修改员工表中部门id为1的 奖金为500
  • 把取经部的地址改成五台山
  • 修改奖金字段为性别gender字段 类型为varchar
  • 修改孙悟空和猪八戒性别为男
  • 删除没有性别的员工(null不能用= 要用is)
  • 删除性别字段
  • 删除表 和 删除数据库

常见错误提示

  • You have an error in your SQL; 你的SQL语句中有个错 (检查SQL拼写)
  • database exists; 数据库已存在
  • Column count doesn’t match value count 插入的值的数量和列(表字段)的数量不一致

idea中配置数据库步骤 参考文档服务器请添加图片描述

  • 推荐使用三方的可视化工具,像SQLYog
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
CSDN是一个技术交流平台,里面有许多关于各种编程语言和数据库的学习资料和笔记。而MySQL是其中一种常用的关系型数据库管理系统,也是开放源代码软件之一。 在CSND上,MySQL笔记是指关于MySQL数据库的学习和使用的笔记和教程。这些笔记包含了MySQL数据库的基本概念、安装配置、SQL语句的使用、数据表的设计和管理、索引使用、数据备份和恢复等方面的知识。学习MySQL笔记可以帮助开发者更好地理解和应用MySQL数据库。 MySQL笔记主要可以分为以下几个方面来介绍和学习: 1. 数据库基础知识:学习数据库的基本概念和原理,了解关系型数据库的特点以及MySQL的特点。 2. 安装和配置:学习如何在不同操作系统上安装和配置MySQL数据库,包括设置用户名、密码和端口等。 3. SQL语句的使用:学习SQL语句的基本语法和常用命令,包括查询、插入、更新、删除等操作。 4. 数据表的设计和管理:学习如何设计和创建数据表,包括选择适当的数据类型、设置主键和外键等。 5. 索引的使用:学习如何创建和使用索引来提高查询效率和数据访问速度。 6. 数据备份和恢复:学习如何进行MySQL数据库的数据备份和恢复,包括全量备份和增量备份等。 通过学习MySQL笔记,开发者可以掌握MySQL数据库的基本操作和高级功能,提高数据管理和查询的效率。此外,还可以了解MySQL数据库的优化技巧和性能调优方法,提升数据库的性能和稳定性。 总之,通过CSDN上的MySQL笔记,开发者可以系统地学习和掌握MySQL数据库的相关知识,从而更好地应用于实际的项目开发中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Java代码兄

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值