数据库 day01

这篇博客介绍了数据库的基础知识,包括DBMS的概念、常见的数据库管理系统如MySQL、Oracle和SQLServer等,以及SQL语言的使用。内容涵盖如何连接数据库、数据库和表的操作,如创建、查询、修改和删除,并提供了相应的练习题来巩固学习。
摘要由CSDN通过智能技术生成

2205数据库笔记

数据库

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

DBMS

  • DataBaseManagementSystem,数据库管理系统,俗称数据库软件

  • 常见的DBMS

    • MySQL: Oracle公司产品, 08年被Sun公司收购了,09年Sun公司被Oracle收购了,MySQL开源产品,市占率排名第一

    • Oracle: Oracle公司产品, 闭源产品,性能最强价格最贵, 市占率排名第二

    • SQLServer: 微软公司产品,闭源产品,市占率第三

    • DB2: IBM公司产品,闭源产品

    • SQLite:轻量级数据库

SQL

  • Structured Query Language,结构化查询语言, 通过此语言让程序员和数据库软件进行交流

刘德华 30 5000

insert into emp values("刘德华",30,5000);

如何连接数据库软件

  • 检查数据库服务是否开启

  • windows:开始菜单中找到MySQL或MariaDB里面的 MySQL Client 点击进入

  • Linux或Mac OS, 打开终端输入 mysql -uroot -p 回车 输入密码 再回车

  • 断开连接:

    • 关了窗口

    • 输入exit 回车

数据库和表的概念

  • 在MySQL数据库软件中保存数据需要先建库再建表

数据库相关的SQL

  • 查询所有数据库

  • 格式: show databases;  显示已经存在的数据库  下四个是自带的 上三个自己创出来的)

  • 创建数据库

  • 格式: create database 数据库名 charset=utf8/gbk;

  • 举例:

create database db1;

create database db2 charset=utf8;(字符集 设置为utf8)

create database db3 charset=gbk;(字符集 设置为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;

show databases;

  • 使用数据库

  • 使用完数据库之后再执行表相关或数据相关的SQL 否则会报错: No database selected

  • 格式: use 数据库名;

  • 举例:

use db1;

数据库相关练习题

  1. 创建 mydb1和mydb2 数据库 字符集分别为utf8和gbk

create database mydb1 charset=utf8;

create database mydb2 charset=gbk;

  1. 查询所有数据库检查是否创建成功

show databases;

  1. 检查两个数据库的字符集是否正确

show create database mydb1;

show create database mydb2;

  1. 先使用mydb2 再使用 mydb1

use mydb2;

use mydb1;

  1. 删除两个数据库 drop database mydb1; drop database mydb2;

表相关SQL

  • 执行表相关的SQL语句必须使用了某个数据库否则会报错(在数据库的范围里执行表内容)

  1. 创建表

  • 格式: create table 表名(字段1名 类型,字段2名 类型) charset=utf8/gbk;

  • 举例:

create table person(name varchar(50),age int);

create table car(name varchar(50),type varchar(5),price int);

create table student(name varchar(50),age int,chinese int,math int,english int)charset=gbk;

 

  • 查询所有表

  • 格式: show tables;

  •  

  • 查询表信息

  • 格式: show create table 表名;

  • 举例:

show create table person;

show create table student;

 

  • 查询表字段信息

     

  • 格式: desc 表名;

  1. 删除表

  • 格式: drop table 表名;

  •  

  • 举例:

drop table car;

show tables;

  1. 修改表名

  • 格式: rename table 原名 to 新名;

  •  

  1. 添加表字段

  • 最后面添加格式: alter table 表名 add 字段名 类型;

  • 最前面添加格式: alter table 表名 add 字段名 类型 first;

  •  

  • 在xxx字段的后面添加: alter table 表名 add 字段名 类型 after xxx;

  •  

  • 举例:

create database db4;

use db4;

create table teacher(name varchar(20));

alter table teacher add age int;

alter table teacher add id int first;

alter table teacher add salary int after name;

  1. 删除表字段

  • 格式: alter table 表名 drop 字段名;

     

alter table teacher drop salary;

  1. 修改表字段

  • 格式: alter table 表名 change 原名 新名 新类型;

  •  

alter table teacher change age salary int;

表相关练习题:

  1. 创建数据库mydb4 字符集utf8并使用

create database mydb4 charset=utf8;

use mydb4;

  1. 创建员工emp表 有名字字段

create table emp(name varchar(50));

  1. 添加表字段: 最后添加salary 最前面添加id , salary前面添加age年龄

alter table emp add salary int;

alter table emp add id int first;

alter table emp add age int after name;

  1. 删除age字段

alter table emp drop age;

  1. 修改表名为e

rename table emp to e;

  1. 删除表

drop table e;

  1. 删除数据库

drop database mydb4;

表相关练习题:

  1. 创建数据库mydb3 字符集gbk 并使用

create database mydb3 charset=gbk;

use mydb3;

  1. 创建t_hero英雄表, 有名字和年龄字段 默认字符集

create table t_hero(name varchar(20),age int);

  1. 修改表名为hero

rename table t_hero to hero;

  1. 查看表的字符集

show create table hero;

  1. 查询表字段

desc hero;

6. 删除表 drop table hero;

7. 删除数据库 drop database mydb3;

数据相关SQL

  • 执行数据相关的SQL语句必须使用了某个数据库并且已经创建好了保存数据的表

create database db5 charset=utf8;

use db5;

create table person(name varchar(50),age int);

  1. 插入数据

  • 全表插入格式: insert into 表名 values(值1,值2);

  • 指定字段插入格式: insert into 表名(字段1名,字段2名) values (值1,值2);

  • 举例:

insert into person values("tom",30);

 

insert into person(name) values('jerry');

 

  • 批量插入:

     

insert into person values("liubei",20),("guanyu",18),("zhangfei",15);

 

insert into person(name) values('libai'),('liucangsong');

  • 插入中文:

insert into person values("刘德华",17);

  • 如果执行上面的SQL语句报以下错误, 执行 set names gbk; 之后再次执行

  • (可能程序版本  编码不匹配)

  1. 查询数据

  • 格式:select 字段信息 from 表名 where 条件;

  • 举例:

select name from person;

 

select name,age from person;

 

select * from person;

 

select * from person where age>25;

select age from person where name='tom';

 

select name from person where age=15;

 

  1. 修改数据

  • 格式: update 表名 set 字段名=值,字段名=值 where 条件;

  • 举例:

update person set age=50 where name='libai';

update person set name='刘备' where age=20;

 

  1. 删除数据

  • 格式: delete from 表名 where 条件;

  • 举例:

delete from person where name='刘德华';

delete from person where age<20;

 

delete from person where age is null;

 

 

综合练习题:

1. 创建数据库day1db 字符集utf8并使用

2. 创建t_hero表, 有name字段 字符集utf8

3. 修改表名为hero

4. 最后面添加价格字段money, 最前面添加id字段, name后面添加age字段

5. 表中添加以下数据: 1,李白,50,6888 2,赵云,30,13888 3,刘备,25,6888

6. 查询价格为6888的英雄名

7. 修改刘备年龄为52岁

8. 修改年龄小于等于50岁的价格为5000

9. 删除价格为5000的信息

10. 删除表, 删除数据库

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值