1、为什么要有数据库
- 我们在学Java基础的时候知道,我们数据可以序列化存到文件中,也可以反序列化从文件中取出数据,那为什么还会有数据库出现?
- 数据库可以使数据持久化、使用完整的管理系统统一管理,易于查询
2、数据库相关
- DB:可以理解成一个仓库(database)用来存储数据
- DBMS:数据库管理系统(Database Management System)
- SQL:结构化查询语句(Structure Query Language),专门用来与数据库通信的语言
3、SQL语言分类
- DML:用于查询与修改数据记录
(1)Insert:添加数据
(2)Update:修改数据
(3)Delete:修改数据
(4)Select(**):选择(查询)语句=>最重要! - DDL:用于定义数据库结构
(1)Create Table:创建数据库表
(2)Alter Table:更改变结构、添加、删除、修改列长度
(3)Drop Table:删除表
(4)Create Index:在表上建立索引
(5)Drop Index:删除索引 - DCL:控制数据库访问
(1)Grant:授予访问权限
(2)Revoke:撤销访问权限
(3)Commit:提交事务处理
(4)RollBack:事务处理回退
(5)SavePoint:设置保存点
(6)Lock:对数据库特定的部分进行锁定
4、MySQL常用指令
- 查看数据库:show databases
- 使用某个数据库:use 数据库名称
- 新建数据库:create database 数据库名称
- 查看指定数据库里的所有表:show tables;
- 建表:create table customer(id varchar<20>, age int)
- 查看表结构:desc 表名
- 删除表 drop table 表名
5、增删改查
-
查询表中的所有记录:select * from 表名;
-
向表中插入记录:insert into 表名(列名列表) values(列对应的值的列表)=> 注意varchar类型的数据要用 ‘ ’ (单引号)
(1)插入表的全部数据,可以省略表名后面的(列名列表)
-
修改记录:update 表名 set 列1 = 列1的值,列2 = 列2的值 where …
-
删除记录:delete from 表名 where…
-
拷贝记录:
(1)注意:其中下面就是一个错误的例子,因为在同一个表中,主键不能重复,虽然语法没错,但是运行时报错,可以复制其他表,保证以下几点:首先主键不能重复,其次两个表之间的列名列数要相同