1、数据的定义
数据库是存放数据的仓库,数据库中的数据是按照一定的格式存放的
DBS(数据库系统)
包含DB(数据库)
DBMS(数据库管理系统)
数据库的定义 DB DataBase : 存储数据的仓库。
数据库管理系统 DBMS :科学的存储数据和管理数据
数据库管理员 DBA
数据库排名
2、关系型数据库和非关系型数据库
关系型数据库:Mysql,oracle,SQL server ,SQLite,
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织
关系型数据库 SQL:底层存放数据是二维表的方式,存在硬盘中的。
非关系型数据库 NOSQL:存放数据库 键值对 存放在内存中。
非关系型数据库:mongoDB、redis
指非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。
crtl+c 是强制退出
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 window +r --->运行窗口 mysql -uroot -p密码 密码输错 --- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 出错---- 无法连接mysql服务 ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061) 2 数据的定义 Data:描述事物信息的符号。 数据库的定义 DB DataBase : 存储数据的仓库。 数据库管理系统 DBMS :科学的存储数据和管理数据 数据库管理员 DBA 3 MySQL简介 :现流行,开源,免费关系型数据库 (sql) 。 特点 :开源,免费,跨平台 关系型数据库 SQL:底层存放数据是二维表的方式,存在硬盘中的。 非关系型数据库 NOSQL:存放数据库 键值对 存放在内存中。 --------------------------------- mysql 登录命令 mysql -h主机名(localhost 本机的ip 可省略) -u用户名 -p密码 mysql -hlocalhost -uroot -p密码 查看IP地址 ---运行窗口 输入ipconfig查看本机的ip mysql -h127.0.0.1 -uroot -p123456 ------------------基本操作 注意 1 单词问题 单词不要拼错 2 以英文状态下的符号结尾。 3 引号问题 必须是成对出现,必须英文 4 数据库命名 建议用英文 ,不能使用数字开头 可以跟数字 不能使用关键字和保留字; 1 show databases; 查看本地一共有多少个数据库 、 2 create database 数据库名; 创建数据库 Query OK, 1 row affected (0.01 sec);创建成功提示 3 drop database 数据库名;(慎用 --只能删除自己创建的库)删除数据库 Query OK, 0 rows affected (0.01 sec) 删除成功 ERROR 1008 (HY000): Can't drop database 'aa'; database doesn't exist 数据库不存在 4 use 数据库名; 使用某个库 Database changed 数据库 被选择了; 先选择某个表再查看某个表 5 show tables;查看数据库表; 6 ctrl+c 强制退出mysql命令 ----------命令行的基本操作 1 进入某个盘符 盘符名称: 2 查看这个盘符下的内容 dir: 3 进入某个目录 cd 目录名 4 ..\返回上级目录 cd ..\
二、创建Mysql数据库和表
1、结构化查询语句SQL
查询语句:主要由select 关键字完成,查询语句是SQL 语句中最复杂、功能最丰富的语句。
DML(Data Manipulation Language,数据操作语言) 语句:主要由insert、update和 delete 三个关键字完成。
DDL(Data Definition Language,数据定义语言)语句:主要由create、alter、drop和 truncate 四个关键字完成。
DCL(Data Control Language,数据控制语言)语句:主要grant和revoke 两个关键字完成。
事务控制语句:主要由commit、rollback和savepoint 三个关键字完成。
![](https://img2018.cnblogs.com/blog/1447456/201908/1447456-20190811214638271-1766785866.png)
2、命令行操作数据库
创建:create database 数据库名;
删除 :drop database 数据库名;
查看: show databases
使用数据库:use 数据库名
![](https://img2018.cnblogs.com/blog/1447456/201908/1447456-20190811214457389-1886939976.png)
3、数据表的操作
查看数据库下的数据表:show tables;
创建表:在navicat查询界面下创建表
![](https://img2018.cnblogs.com/blog/1447456/201908/1447456-20190812193855547-1149913126.png)
varchar(数字),这里面的数字为字节数,utf-8,一个汉字三个字节
![](https://img2018.cnblogs.com/blog/1447456/201908/1447456-20190812195743194-498180574.png)
如果不存在就创建--- IF NOT EXISTS
![](https://img2018.cnblogs.com/blog/1447456/201908/1447456-20190812194509736-1814960059.png)
反引号是为了当 出现与关键字重名的情况
4、数据值和列类型
5、数据字段注释
show databases; #显示所有的数据库
create database aa;#创建数据库
drop database aa;#删除数据库
创建表
create table grade1 (
gradeId int(4) not null PRIMARY key,
gradeName varchar(50) null
);
show tables;
使用查询 创建 `subject1`
subjectID int(4) 不允许为空
subjectNAme varchar(32)
classHour int(4)
CREATE table if not exists subject1(
subjectId int(4) not null PRIMARY key,
subjectName varchar(3) null,
classHour int(4) not null
);
创建table 表
create table `table`(
id int(4) not null
);
创建 test
create table test(
id int(4) UNSIGNED NOT null comment '编码'
)comment ='测试表';
create table test1(
id int(4) ZEROFILL not null
);
select * from test;
create table test2(
id int(4) not null PRIMARY key auto_increment
);
create table test3(
id int(4) not null PRIMARY key auto_increment,
sex char(1) not null DEFAULT '0',
age int(4)
);
create table result(
studentNo int(4) not null comment '学号',
subjectNO int(4) null comment '课程号',
ExamDate datetime comment '考试日期',
studentResult int(4) comment '考试成绩'
);
desc result;
修改表名
alter table 旧表名 rename as 新表名;
alter table test rename as test4;
添加字段
alter table 表名 add 字段名 列类型 [属性]
desc test4;
alter table test4 add name varchar(32);
修改字段
ALTER TABLE 表名 MODIFY 字段名 列类型 [ 属性 ]
modify修改字段类型 例如 varchar 变成 char
alter table test4 MODIFY name char(32);
字段名和属性都可以修改
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型 [ 属性 ]
alter table test4 CHANGE name studentname varchar(4);
删除字段
alter table test4 DROP studentname;
![](https://img2018.cnblogs.com/blog/1447456/201908/1447456-20190812212909645-1325964188.png)
悟已往之不谏,知来者之可追。