新用户注册入口 老用户登录入口

[转载]学习MySql第二天

文章作者:转载 更新时间:2024-02-16 12:44:07 阅读数量:543
文章标签:MySQL数据库SQL语句字段操作
本文摘要:本文主要介绍了MySQL数据库的基础操作,包括创建、查看和删除数据库,以及对表的结构设计、数据插入、修改与查询等。文章详细阐述了SQL语言中的DDL(创建并管理数据库及表结构)、DML(增删改查数据操作)和TCL/DCL(事务控制和数据库权限管理)。通过实际案例演示了如何在MySQL中创建`book`和`customer`表,并对其执行一系列的数据管理操作,涉及到了整数、浮点数、字符串和日期等多种数据类型的应用。关键词:MySQL、数据库、表、DDL、DML、TCL、DCL、SQL语句、字段操作、数据类型。
转载文章

本篇文章为转载内容。原文链接:https://blog.csdn.net/sinat_41915844/article/details/79770973。

该文由互联网用户投稿提供,文中观点代作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

MySql02

复习

  • 显示所有数据

    show databases;
    
  • 创建新数据库,设置编码方式utf8

    create database demo2 default charset utf8;
    
  • 显示创建数据的语句

    show create database demo2;
    
  • 删除数据库

    drop database demo2;
    
  • 选择使用指定的数据库

    use demo1;
    
  • 查看库中所有表

    show tables;
    
  • 创建表

    create table book(bid int(4) primary key comment '书id', bname varchar(50) comment '书名',pub varchar(50) comment '出版社',author varchar(50) comment '作者' 
    )engine=myisam charset=utf8;
    

所有字段名,使用``,所有的字符串使用''或者""

  • 查看建表语句

    show create table book;
    
  • 查看表结构

    desc book;
    
  • 修改表名

    rename table book to book1;
    
  • 修改表属性 ,引擎和字符集

    alter table book1 engine=innodb charset=utf8;
    
  • 添加字段 first after

    alter table book1 add(type varchar(20) comment '类型',numinput int(10) comment '进货量',numstore int(10) comment '库存量'
    );
    
  • 修改字段名 bid bno

    alter table book1 change bid bno int(4);
    
  • 修改顺序 pub 放到author后面

    alter table book1 modify pub varchar(50) after author;
    
  • 修改数据类型 bno int(4) -->int(10)

    alter table book1 modify bno int(10);
    
  • 删除字段

    alter table book1 drop 字段名;
    
  • 删除表

    drop table 表名;
    
  • 插入语句

    insert into book1(bno,bname,author,type) values(1001,'斗破苍穹','天蚕土豆','玄幻');
    insert into book1(bno,bname,author,type) 
    values(1002,'全职高手','蝴蝶兰','网游竞技');
    insert into book1(bno,bname,author,type) 
    values(1003,'鬼吹灯','天下霸唱','恐怖');
    insert into book1(bno,bname,author,type)
    values(1004,'西游记','吴承恩','4大名著');
    insert into book1(bno,bname,author,type)
    values(1005,'java基础','王克晶','达内学习手册');
    
  • update语句

    • 把1005号书,修改成'天线宝宝',作者不详,类型少儿
    • 把1004号书修改成'天龙八部',作者金庸,类型武侠

      update book1 set bname="天线宝宝",author="作者不详",type="少儿" where bno=1005;

  • 删除类型是'恐怖'的所有书籍

  • 删除全表记录
  • 删除表格

  • 修改book名称为book_item

    rename table book to book_item;
    
  • 在表格尾部添加字段price double(7,2)

    alter table book_item add price double(7,2);
    
  • 把price字段的位置放到author之后

    alter table book_item modify price double(7,2) after author;
    
  • 把表中存在的数据添加价格,每本书都在100~1000之间,自定

    update book_item set price=199  where bno=1001;
    
  • 修改1001的价格为500元

  • 把所有字段的null字段补全

    update book_item set pub="达内出版社",numinput=500,numstore=100 where pub is null;
    
  • 删除价格小于150的所有条目

  • 删除所有数据

SQL分类

  • 数据定义语言 DDL 重点
  • 数据操纵语言 DML 重点 增 删 改
    • 数据查询语言 DQL select 查
  • 事务控制语言 TCL
  • 数据库控制语言 DCL

数据定义语言 DDL

- 负责数据结构定义,与创建数据库对象的语言
- 常用create alter drop
- DDL不支持事务,DDL语句执行之后,不能回滚

数据操纵语言 DML

- 对数据库中更改数据操作的语句
- select insert update delete--> CRUD 增删改查
- 通常把select相关操作,单独出来,称之为DQL
- DML支持事务,在非自动提交模式时,可以利用rollback回滚操作.

数据查询语言 DQL

- 筛选,分组,连表查询  **面试重点**

TCL 和 DCL

- 事务控制语句TCL
- 负责实现数据库中事务支持的语言,commit rollback savepoint等指令- DCL数据库控制语言
- 管理数据库的授权,角色控制等,grant(授权),revoke(取消授权)  

练习:

  1. 案例:创建一张表customer(顾客)

    create table customer(cid int(4) primary key comment '顾客编号',cname varchar(50) comment '顾客姓名',sex char(5) comment '顾客性别',address varchar(50) comment '地址',phone varchar(11) comment '手机',email varchar(50) comment '邮箱'
    ); 
    show create table customer;
    
  2. 插入5条数据

    insert into customer values(1001,'小明','男','楼上18号','123','123@163.com');
    insert into customer values(1002,'小红','女','楼上17号','1234','1234@163.com');
    insert into customer values(1003,'老王','男','楼上18号隔壁','1234','1234@163.com');
    insert into customer values(1004,'老宋','男','楼上17号隔壁','1234','1234@163.com');
    insert into customer values(1005,'小马','女','楼上17号隔壁','1234','1234@163.com');
    

-1 修改一条数据的姓名 小红的姓名 -2 修改一条数据的性别 老王的性别 -3 修改一条数据的电话 1001号的电话 -4 修改一条数据的邮箱 邮箱为123@163.com,改成323@163.com -5 查询性别为 男的所有数据

    select * from customer where sex="男";

-6 自定义DDL操作的需求,5道题,可以同上面book表的操作

数据库数据类型

  • 主要包括5大类

  • 整数类型 int, big int

  • 浮点数类型 double decimal
  • 字符串类型 char varchar text
  • 日期类型 date datetime timestamp time year...
  • 其他数据类型 set....

字符串

- char(固定长度) 定长字符串 最多255个字节- 定多少长度,就占用多少长度- 多了放不进去,少了用空格补全- 不认识内容尾部的空格- varchar(最大长度) 变长字符串 最大65535字节,但是使用一般不超过255- 只要不超过定的长度,都可以放进去- 以内容真实长度为准- 认识内容尾部的空格- text 最大65535字节
- blob 大数据对象,以二进制(字节)的方式存储

整数

  • tinyint 1字节
  • smallint 2字节
  • int 4字节
  • bigint 8字节

    int(6)
    影响的是查询时显示长度(zerofill)
    不影响数据的保存长度
    

    create table t1(id1 int,id2 int(5)); insert into t1 values(111111,111111);

    alter table t1 modify id1 int zerofill; alter table t1 modify id2 int(5) zerofill;

    insert into t1 values (1,1);

    float 4字节 double 8字节 double(8,2) 可能会产生精度的缺失 10.0/3 3.3333333336 decimal 不会缺失精度,但是使用的时候需要指定总长度和小数位数

日期

- date 年月日
- time 时分秒
- datetime 年月日时分秒,到9999年,而且需要手动输入,如果没有手动输入,就显示null.- timestamp 年月日时分秒,在没有数据手动插入时,自动填入当前时间.最大值2038- bigint 1970-1-1 0:0:0 格林威治时间

案例:创建表t,字段d1 date,d2 time,d3 datetime,d4 timestamp

    create table t(id int,d1 date,d2 time,d3 datetime,d4 timestamp);insert into t (d1,d2) values ('1910-01-10','12:32:12');insert into t values(1,'2018-12-21','15:12:00','1995-02-10  12:08:12','2030-10-10 15:19:32');insert into t values(2,'3018-01-25','15:12:34','9234-12-31 12:12:12','2030-12-31 12:12:12');insert into t values(2,'3018-01-25','15:12:34','9999-12-31 23:59:59','2030-12-31 12:12:12');

练习

创建人物表,插入,修改,查询

    create table person(id int(4) primary key,name varchar(50),age int(3));insert into person values(1,"梅超风",36);insert into person values(2,"洪七公",96);insert into person values(3,"杨过",40);insert into person values(4,"令狐冲",28);insert into person values(5,"张三丰",100);insert into person values(6,"张翠山",27);insert into person values(7,"张无忌",27);insert into person values(8,"赵敏",18);insert into person values(9,"独孤求败",250);insert into person values(10,"楚留香",36);1.案例:修改张三丰的name为刘备,id为11update person set name="刘备",id=11 where name="张三丰";2.案例:修改2号人物的的name为夏侯渊update person set name="夏侯渊" where id=2;3.案例:根据条件修改person表中的数据,修改id是6的数据中,姓名改为'任我行',    年龄改为39update person set name="任我行",age=39 where id=6;4.案例:修改姓名是‘楚留香'的数据,把id改为20,年龄改为19update person set id=20,age=19 where name="楚留香";5.案例:把person所有的数据的年龄全部改为20  update person set age=20;6.案例:修改id为7的数据,把id改为100,姓名改为杨过,年龄改为21update person set id=100,name="杨过",age=21 where id=7;7.案例:修改姓名是独孤求败,把年龄改为35update person set age=35 where name="独孤求败";8.案例:修改id=8的信息,把姓名改为房玄龄update person set name="房玄龄" where id=8;9.案例 :修改id为20并且年龄为20的人的姓名为刘德华(郑少秋也行)提示  where...and...update person set name="郑少秋" where id=20 and age=20;

查询

没有条件的简单查询

  1. select * from 表名;查询表中所有的数据

    select * from person; select * from t; select * from emp; select * from dept;

  2. 查询某些列中的值

    select name as '姓名' from person; select name as '姓名',age as '年龄' from person; select id as '编号',name as '姓名',age as '年龄' from person;

  3. 学习过程的编程习惯select * from 表;

  4. 工作中的编程习惯select id,name,age from person;

  5. 查询emp表中所有员工的姓名,上级领导的编号,职位,工资

    select ename,mgr,job,sal from emp;

  6. 查询emp表中所有员工的编号,姓名,所属部门编号,工资

    select empno,ename,deptno,sal from emp;

  7. 查询dept表中所有部门的名称和地址

    select dname,loc from dept;

如果忘记了mysql的用户名和密码怎么办

  1. 卸载重新装
  2. 不重装软件如何修改密码

    • 1.停止mysql服务
    • 2.cmd中输入一个命令

      mysqld --skip-grant-tables; -通过控制台,开启了一个mysql服务

    • 3.开启一个新的cmd

      -mysql -u root -p 可以不使用密码进入数据库

      1. show databases;----mysql
    • 5. use mysql;
    • 6. update user set password=password('新密码') where user="root";
    • 7. 关闭mysqld这个服务/进程
    • 8. 重启mysql服务

作业

mysql02,一天的代码重新敲一遍,熟悉emp和dept列名

本篇文章为转载内容。原文链接:https://blog.csdn.net/sinat_41915844/article/details/79770973。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

相关阅读
文章标题:[转载][洛谷P1082]同余方程

更新时间:2023-02-18
[转载][洛谷P1082]同余方程
文章标题:[转载]webpack优化之HappyPack实战

更新时间:2023-08-07
[转载]webpack优化之HappyPack实战
文章标题:[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法

更新时间:2023-09-10
[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法
文章标题:[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo

更新时间:2024-03-11
[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo
文章标题:[转载]程序员也分三六九等?等级差异,一个看不起一个!

更新时间:2024-05-10
[转载]程序员也分三六九等?等级差异,一个看不起一个!
文章标题:[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集

更新时间:2024-01-12
[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集
名词解释
作为当前文章的名词解释,仅对当前文章有效。
数据定义语言 (DDL)在数据库管理系统中,数据定义语言是一种用于创建、修改和删除数据库对象(如表、视图、索引等)的SQL语句集合。在文章上下文中,DDL命令如`CREATE DATABASE`用于创建新数据库,`ALTER TABLE`用于修改已有表结构,而`DROP DATABASE`或`DROP TABLE`则用来删除数据库或表。
数据操纵语言 (DML)数据操纵语言是SQL中负责对数据库中的数据进行添加、删除、更新等操作的部分。在本文中,通过`INSERT INTO`插入新的记录,`UPDATE`来更改现有记录的数据,以及`DELETE FROM`删除指定记录的操作均属于DML范畴。
字符集 (Charset)在计算机编程和数据库管理中,字符集是指一个系统支持的一组字符及其编码规则。在MySQL中,创建数据库或表时可以指定默认的字符集,例如“utf8”,确保数据库能够正确存储和处理不同语言环境下的文本信息,避免乱码问题出现。
事务控制语言 (TCL)事务控制语言是SQL的一个子集,主要用于管理和控制数据库事务的开始、提交、回滚等操作。在文章提到的MySQL操作中,虽然没有直接给出TCL相关的具体命令,但指出TCL包括了如`COMMIT`(提交事务)、`ROLLBACK`(回滚事务)等指令,这些指令对于维护数据库的原子性和一致性至关重要。
数据查询语言 (DQL)数据查询语言主要关注从数据库中检索数据,并可能对检索结果进行排序、筛选或分组等操作。在本文示例中,使用`SELECT`语句实现数据查询即为DQL的具体应用,它可以按照用户指定的条件从数据库表中提取所需数据,并且可以通过JOIN、WHERE、GROUP BY、ORDER BY等子句丰富查询功能。
延伸阅读
作为当前文章的延伸阅读,仅对当前文章有效。
在深入理解了MySQL数据库的基础操作与SQL分类后,我们可以进一步关注数据库技术的最新进展和实际应用案例。近期,随着数字化转型加速,MySQL 8.0版本凭借其增强的安全性、更高的性能以及对JSON文档支持的改进,得到了广泛应用。例如,在云服务领域,AWS RDS已全面支持MySQL 8.0,用户可以更加便捷地构建高性能、高可用的应用程序。
此外,对于数据库管理及优化方面,一篇来自InfoQ的技术文章《MySQL 8.0新特性解读及其在大规模数据处理中的实践》深度剖析了MySQL 8.0的各项新功能,包括窗口函数、通用表表达式等,并通过实例演示如何利用这些新特性提高查询效率,降低存储成本。
同时,针对日益增长的数据安全需求,《企业如何借助MySQL强化数据库安全性》一文强调了实施严格访问控制、审计跟踪、加密传输和透明数据加密等功能的重要性,并引用了最新的行业标准和法规要求作为依据。
对于开发者而言,学习并掌握MySQL的高级特性以及最佳实践至关重要。近日,Oracle发布了MySQL HeatWave,这是一种融合分析型数据库引擎,能在同一个MySQL数据库中实现事务处理与实时分析,极大简化了大数据处理流程,提升了业务决策速度。
综上所述,了解MySQL的最新动态和技术演进不仅可以帮助我们更好地进行日常的数据库管理工作,还能洞悉未来数据库技术的发展趋势,从而为我们的系统设计与优化提供有力支撑。在实战中,结合具体业务场景灵活运用SQL语句及数据库管理系统,将有效提升整个系统的稳定性和效率。
知识学习
实践的时候请根据实际情况谨慎操作。
随机学习一条linux命令:
grep pattern file.txt - 在文件中搜索模式。
随便看看
拉到页底了吧,随便看看还有哪些文章你可能感兴趣。
可自定义logo的jQuery生成二维码插件 01-03 jquery每日签到日历插件 10-10 高度可定制的jQuery瀑布流网格布局插件 03-15 Consul中服务实例自动注销问题解析:健康检查、稳定性与Agent配置的影响及解决策略 01-22 怎么看mysql 的安装路径 12-31 jquery横向手风琴效果 12-23 蓝色数码电子产品销售HTML5网站模板 12-14 jQuery和CSS3汉堡包导航菜单打开动画特效 10-19 python模拟生存游戏 10-08 本次刷新还10个文章未展示,点击 更多查看。
jQuery.eraser-实现橡皮擦擦除功能的jquery插件 05-26 Netty中ChannelNotRegisteredException异常处理:理解原因与确保Channel注册状态的方法示例 05-16 响应式游戏开发类企业前端cms模板下载 05-02 精美的花甲美食网站HTML模板下载 03-09 soulmate粉色干净浪漫唯美婚礼单页响应式网站模板 03-07 Vue.js项目中proxyTable数据转发遭遇504错误:服务器响应时间与网络连接问题排查及解决方案 03-05 SpringCloud服务路由配置错误与失效:识别问题、排查步骤及组件解析这个涵盖了的核心内容,包括SpringCloud框架下的服务路由配置错误失效问题的识别,以及涉及到的服务注册中心、Gateway、Zuul等组件的功能解析和故障排查的具体步骤。同时,字数控制在了50个字以内,满足了要求。 03-01 css水平线长度设置 02-11 [转载]Proxy 、Relect、响应式 01-11 蓝色响应式软件营销代理公司网站静态模板 01-06 python正太分布校验 01-05
时光飞逝
"流光容易把人抛,红了樱桃,绿了芭蕉。"