数据库
"""
1.什么是数据库:
就是管理数据的系统,本质上是一种安装的管理系统,该系统用来管理的那些数据其实就是管理文件。
2.存储数据的位置:
可以在内存或者硬盘中进行存储
3.什么是系统:
运行在硬件基础上,用来管理其他软件的软件,比如操作系统就是一个非常大的系统
"""
# 数据库的组成
'''
库:存放多张表(其实就是一个文件夹,比如教学管理库,里面有学生表,课程表,教师表)
表:包含有多条相同结构的记录(比如学生表,包含id = 1,2,3,4,5,6....等等多条记录.)
记录:包含有多个key-value键值对的一条二进制数据(例如:id为1的记录:(‘name’ = ‘Bob’, 'age' = 18, 'gender' = '男'))
字段:由key-value组成的本质上是二进制的信息(例如:name = 'Bob' 是一个字段, age = 18也是一个字段)
'''
数据库习题
'''
1.详细解释下列mysql执行语句的每个参数与参数值的含义
mysql -hlocalhost -P3306 -uroot -proot
这句话的意思是远程连接指定的服务器:
首先第一个参数mysql就是固定写法
第二个语句-hlocalhost拆开来看就是,-h后面跟的是数据库
的ip地址,
第三个语句-P3306拆开来看就是,-P后面跟的是数据库的端口
号
第四个语句-uroot拆开来看就是,-u后面跟的是数据库的账号
第五个语句-proot拆开来看就是,-p后面跟的是数据库的密码
所以上面远程连接指定数据库的命令就是:
mysql -h ip地址 -P 端口号 -u 账号 -p 密码
2.创建以下数据库:
db1---采用默认编码:
create database db1;
db2---采用gbk编码:
create database db2 charset='gbk';
db3---采用utf8编码:
create database db3 charset='utf8';
将bd2数据库编码修改为utf8编码格式:
alter database db2 charset="utf8";
删除db3数据库:
drop database db3;
3.创建表操作:
-- 在db1数据库内,为其添加一个t1表,表有两个字段(id int, name char)
create table t1(id int, name char);
-- 在db2数据库内,为其添加一个t2表,表有三个字段(name char, age int, phone int)
create table t2(name char, age int, phone int);
-- 思考完成:在db2数据库内,为db1添加表tt1,字段可以*定义
create table db1.tt1(name char, age int, sex char);
-- 修改db1库t1表的name字段char类型长度为20,db2库t2表的age字段int类型长度为3
alter table db1.t1 change name name char(20);
alter table db2.t2 change name name int(3);
-- 删除思考题(数据库db1)中的tt1表
drop table db1.tt1;
-- 使用三种查询表的方式
show tables;(查看所有的表)
show create table t1;(查看指定表的详细信息)
desc t1;(以表格的形式展示t1的详细信息)
4.记录操作
-- 一次插入三条数据,为t1插入三条数据
insert into table t1(name, age, sex) values('michael', 18, 'male');
-- 一次插入一条数据,分二次为t1表插入两条数据
insert into table t1(name) values('jackson');
insert into table t1(age) values(18);
-- 分别查询显示t1,t2表下的所有数据
select * from t1;
select * from t2;
-- t1表下根据id条件更改name名字
update t1 set name='michael' where id = 1;
-- t2表下根据name删除一条数据
delete from t2 where name='nick';
'''
如果在mysql命令行里面退不出来了,可以通过输入(‘c)退出界面
mysql密码忘记了,登录不上,请见 重设密码