【数据库学习笔记】MySQL_01_概述,操作库,操作表,管理数据

MySQL_01

A.概述

1.数据的存储

JavaSE:定义一个变量,都存储在内存里

当程序执行完毕,这个变量就从内存中消失

JavaSE-->IO流:针对文件进行存储

a.永久保存

b.频繁的使用IO流对数据进行读写,执行效率低

2.数据库软件

a.对数据永久保存

b.执行效率高

c.方便维护和管理

3.市面上常用的数据库软件

a.Oracle:是甲骨文公司的产品,和Java语言兼容性比较好,大型应用:JavaEE

b.MySQL:是开源的数据库,和Java语言兼容比较好,针对中小型的应用

c.SQLServer:微软公司产品,和net平台兼容性最好(C#)

d.DB2:是IBM公司的

e.manggoDB:noSQL

4.MySQL应用

a.下载:

下载安装版:安装----->配置mysql里面的参数

解压版:里面把一些关于使用dos登陆mysql的东西封装了,可能会出现问题

安装过程属于傻瓜式安装,在这就不介绍了

数据库的结构:


b.登陆检测:

进入cmd登陆mysql数据库

输入mysql -u root -p   (root为安装时设置的用户名)

然后根据提示,输入密码(安装时设置的密码)


c.查看当前MySQL数据库里有哪些具体的数据库

通过show databases;命令查看

可以看出,有4个自带的数据库


5.退出数据库

exit;命令


B.操作库(数据库的创建,修改和删除)

1.创建一个数据库

create database mydb_01;


2.查看数据库中指定的字符集

show create database mydb_01;


3.修改数据库的字符集为gbk

alter database mydb_01 default character set gbk;


4.删除数据库

drop database mydb_01;


C.操作表(创建,修改和删除)

1.创建表

在创建一个表之前,要切换数据库,使用数据库(当前数据库在mysql存在)

使用数据库:use mydb_01;


创建表:create table 表名(字段名称 字段类型, 字段名称 字段类型......)


2.查看表

show tables;


3.查看表结构

desc 表名


4.添加字段

添加一个性别字段:alter table student add column gender varchar(1);

alter table student add column gender varchar(1);


5.修改字段类型

将gender的长度改为2

alter table student modify column gender varchar(2);


6.修改字段名称

将gender改为sex

alter table student change column gender sex varchar(2);

7.删除字段名称

删除age

alter table student drop column age;

8.修改表名称

修改表名为teacher

alter table student rename to teacher;

9.删除表

drop table teacher;


D.管理数据

1.引入工具

在此,我使用的是SQLyogEnt,也可以使用其他的,如workbench等

2.创建一个表

执行哪一条指令,就选中,并点击运行

-- 注释的文字:数据库中的注释"--空格"
-- 创建数据库
CREATE DATABASE mydb_02;	-- 执行哪一条语句,就在选中点击运行

-- 管理表
-- 选择哪一个数据库
USE mydb_02;	-- 也可以直接在左侧工程栏点击mydb_02即可

-- 创建表
CREATE TABLE student(
	id INT,
	NAME VARCHAR(20),
	age INT
);

-- 查看表
SHOW TABLES;
-- 查看表的结构
DESC student;
执行查看表语句


执行查看表结构语句


3.插入数据

a.插入完整字段:insert into 表名 values(每个字段具体值);

-- 1.1插入数据(insert into 表名 values(每个字段的具体值))
INSERT INTO student VALUES(1,'张三',20);

-- 查询当前表中所有的数据(SQL中重点)
SELECT * FROM student;
查看查询结果


b.插入数据的注意事项

-- 插入数据的注意事项
-- 1) 插入字段的值和字段的信息的顺序一致
INSERT INTO student VALUES('张三',2,30);-- ERROR 1366 (HY000): Incorrect integer value: '????' for column 'id' at row 1
-- 2) 插入字段的数量要和创建表中参数的数量保持一致
INSERT INTO student VALUES(2,'李四');-- RROR 1136 Column count doesn't match value count at row 1
c.插入部分字段:insert into 表名(插入字段类型) values(值);

-- 1.2插入部分字段
INSERT INTO student(id,NAME) VALUES(2,'李四');

-- 查询当前表中所有的数据(SQL中重点)
SELECT * FROM student;

4.修改数据

update表名 修改set 字段名称 = 值 where..);

a.批量修改

-- 1)批量修改(在实际开发中,不建议使用)!
UPDATE student SET NAME = '张三';

-- 查询当前表中所有的数据(SQL中重点)
SELECT * FROM student;


b.修改指定字段

-- 2)修改指定字段
UPDATE student SET NAME = '李四' WHERE id = 1;

-- 查询当前表中所有的数据(SQL中重点)
SELECT * FROM student;

c.修改多个字段

-- 3)修改多个字段
UPDATE student SET NAME = '王五',age = 30 WHERE id = 2;

-- 查询当前表中所有的数据(SQL中重点)
SELECT * FROM student;

5.删除数据delete from

a.删除制定数据数据

-- 删除id = 2 的字段
DELETE FROM student WHERE id = 2;


-- 查询当前表中所有的数据(SQL中重点)
SELECT * FROM student;

b.删除全数据

-- 删除全数据
DELETE FROM student;


-- 查询当前表中所有的数据(SQL中重点)
SELECT * FROM student;

c.删除全数据:truncate

truncate table:这个语法也是删除全表数据:只能删除全表数据,不能删除单个数据

TRUNCATE TABLE student;

6.面试题

delete from 和 truncate table的区别

a.delete from既可以删除全数据,又可以删除指定数据,而truncate 只能删除全数据

b.delete from可以回滚,而truncate不可以回滚

c.delete from不可以让自增长约束重置,truncate可以重置

(自增长重置,就是删除后,再添加数据,id重置从0开始,不重置,则从之前的最大值开始)

添加数据

-- 添加数据
INSERT INTO test(NAME,age) VALUES('张三',20);
INSERT INTO test(NAME,age) VALUES('李四',25);

-- 查询当前表中所有的数据(SQL中重点)
SELECT * FROM test;

使用delete from删除所有,再添加并查看

-- 添加数据
INSERT INTO test(NAME,age) VALUES('张三',20);
INSERT INTO test(NAME,age) VALUES('李四',25);

-- 删除全数据
DELETE FROM test;

-- 查询当前表中所有的数据(SQL中重点)
SELECT * FROM test;

使用truncate table 删除再添加并查看

-- 添加数据
INSERT INTO test(NAME,age) VALUES('张三',20);
INSERT INTO test(NAME,age) VALUES('李四',25);

-- 删除全数据
TRUNCATE TABLE test;

-- 查询当前表中所有的数据(SQL中重点)
SELECT * FROM test;

7.数据查询(select)里面最基本语法

a.查询所有数据

SELECT * FROM student;

b.查询指定别名

-- 查询编号对应的学生姓名,并且指定别名
SELECT id AS '编号',NAME AS '姓名' FROM student;

as也可以省略

c.查询的时候指定字段

-- 查询编号对应的学生姓名
SELECT id,NAME FROM student;

d.查询时添加常量列

-- 查询的时候动态的添加指定的列
-- 查询id 别名 编号,name 姓名, 添加一个常量列'班级' 值为'javaEE'
SELECT id AS '编号', NAME AS '姓名', 'JavaEE' AS '班级' FROM student;

e.查询时合并列

-- 查询学生姓名对应的总成绩
-- 添加两个字段:java,mysql
ALTER TABLE student ADD COLUMN Java INT;
ALTER TABLE student ADD COLUMN mysql INT;

-- 修改数据
UPDATE student SET Java = 90, mysql = 85 WHERE id = 1;
UPDATE student SET Java = 88, mysql = 86 WHERE id = 2;

-- 查询
SELECT * FROM student;

现在合并

-- 查询学生姓名对应的总成绩
SELECT NAME AS '姓名', Java AS 'Java', mysql AS 'mysql', (Java + mysql) AS '总分' FROM student;
-- 注意事项:和并列的时候,两个列的字段类型一致,如果字段类型不一致,那么没有效果的!
SELECT NAME AS '姓名',(mysql+NAME) AS '总成绩' FROM student ;-- 两个字段类型不一致

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值