数据库
- 学习数据库阶段内容,主要学习的就是如何对数据进行增删改查操作
DBMS
- DataBaseManagementSystem,数据库管理系统(数据库软件)
- 常见的DBMS:
- MySQL: Oracle公司产品 08年被Sun收购 09年Sun被Oracle , 原MySQL团队从Oracle离职又创建了MariaDB. 市占率第一
- Oracle: Oracle公司当家产品 市占率第二 闭源产品
- SqlServer: 微软公司产品 , 市占率第三 闭源产品 .net 编程语言+web服务软件+操作系统+数据库软件
- DB2: IBM公司产品 闭源产品
- SQLite: 轻量级数据库, 安装包只有几十k , 只有最基础的增删改查功能
SQL
- Structured Query Language: 结构化查询语言.
- 通过这门语言让程序员和数据库软件进行交流
- 举例: insert into person values(“刘德华”,18);
和数据库软件建立连接
- 通过命令行/终端 和数据库软件建立连接
- 首先检查MySQL/MariaDB服务是否开启: 在我的电脑/此电脑上右键->管理 参见下图
- 从开始菜单中找到MySQL/MariaDB->MySQL Client 打开客户端 , 输入自己的密码(如果用的是达内电脑尝试root或没密码直接回车) 显示Welcome … 说明建立好了连接
- 退出指令: exit
- 建立连接指令: mysql -uroot -p 回车后输入密码 再回车
- 通过三方的可视化工具和数据库软件建立连接
数据库相关
- 在MySQL数据库软件中保存数据需要先建库再建表,然后再往表里面添加数据
- 查询所有数据库
- 格式: show databases;
创建数据库
- 默认字符集格式: create database 数据库名;
- 指定字符集格式: create database 数据库名 charset=utf8/gbk;
- 举例:
create database db1;
create database db2 charset=utf8;
create database db3 charset=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;
使用数据库
- 在执行表相关和数据相关的SQL语句之前必须使用了某个数据库,
- 格式: use 数据库名;
- 举例:
use db1;
表相关
- 执行表相关的SQL之前必须使用了某个数据库.
create database newdb1 charset=utf8;
use newdb1;
创建表
- 格式: create table 名字(字段1名 类型,字段2名 类型,…)charset=utf8/gbk;
- 举例:
create table person(name varchar(50),age int)charset=utf8;
create table student(name varchar(50),chinese int,math int,english int);
查询所有表
格式: show tables;
查询表信息
格式: show create table 表名;
举例:
show create table person;
查询表字段
格式: desc 表名;
举例:
desc student;
删除表
格式; drop table 表名;
举例:
drop table student;
修改表名
格式: rename table 原名 to 新名;
举例:
rename table person to per;
表相关(续)
添加表字段
create database newdb2;
use newdb2;
create table emp(name varchar(30));
- 最后面添加格式: alter table emp add 字段名 类型;
- 最前面添加格式: alter table emp add 字段名 类型 first;
- 某字段后面添加格式: alter table emp add 字段名 类型 after 字段名;
举例:
alter table emp add age int;
alter table emp add id int first;
alter table emp add gender varchar(10) after name;
删除表字段
格式: alter table 表名 drop 字段名;
举例:
alter table emp drop gender;
alter table emp drop id;
修改表字段
格式: alter table 表名 change 原名 新名 新类型;
举例:
alter table emp change age gender varchar(10);
表相关SQL语句回顾:
- 创建 create table 表名(name varchar(20),age int)charset=utf8/gbk;
- 查询所有表 show tables;
- 查询表信息 show create table 表名;
- 表字段: desc 表名;
- 删除表: drop table 表名;
- 修改表名: rename table 原名 to 新名;
- 添加表字段; alter table 表名 add 字段名 类型 first/after xxx;
- 删除表字段: alter table 表名 drop 字段名;
- 修改表字段; alter table 表名 change 原名 新名 新类型;
- 表相关练习题:
- 创建数据库mydb4 字符集utf8并使用
- create database mydb4 charset=utf8;
- use mydb4;
- 创建teacher表 有名字字段
- create table teacher(name varchar(20));
- 添加表字段: 最后添加age 最前面添加id , age前面添加salary工资
- alter table teacher add age int;
- alter table teacher add id int first;
- alter table teacher add salary int after name;
- 删除age字段 alter table teacher drop age;
- 修改表名为t rename table teacher to t;
- 删除表 drop table t;
- 删除数据库 drop database mydb4;
- 数据相关
- create database mydb5 charset=utf8;
- use mydb5;
- create table person(name varchar(50),age int);
- 插入数据
- 全表插入格式: insert into 表名 values(值1,值2);
- 指定字段插入格式: insert into 表名(字段1名,字段2名) values(值1,值2);
- 举例:
- insert into person values(“tom”,18);
- insert into person(name) values(“jerry”);
- 批量插入格式:
- 全表插入格式: insert into 表名 values(值1,值2),(值1,值2),(值1,值2);
- 指定字段插入格式: insert into 表名(字段1名,字段2名) values(值1,值2),(值1,值2);
- 举例:
- insert into person values(“lucy”,20),(“lily”,21);
- insert into person(name) values(“lilei”),(“hanmeimei”);
- 中文问题:
- insert into person values(“刘德华”,50);
- 执行上面SQL语句报错的话 执行以下指令
- set names gbk;