数据库day_01
1.了解数据库:
什么是数据库?
存储数据的仓库.
2.常见的关系型数据库有哪些?
关系型数据库:已二维表格的形式存储数据.
mysql:被oracle收购,免费的,中小型公司使用.
oracle:Oracle公司,"甲骨文"-->神谕,收费.
DB2:IBM公司.
SQL server:微软.
sqlite:小型数据库,适用于移动端:手机.
3.DBMS
数据库管理系统==关系型数据库
4.table:表 database:数据库
一个database=一个或多个table.
一个table=表结构+表记录.
表结构:列名.
表记录:数据.
成绩表:姓名 , 技能分数 , 面试分数 , 结果
张三 100 100 通过
5.登录数据库:
a.win+R 输入 cmd 运行
输入:mysql -uroot -p密码
如果失败:注意错误信息,mysql服务已经停止
C:\Users\tianh>mysql -uroot -proot
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
6.sql:结构化查询语言,处理数据的数据.
DDL:
数据定义语言:创建数据库,表,修改和删除数据库以及构造
DML:
数据操作语言:针对的是表记录 添加 删除 修改.
DQL:
数据库查询语言:查询表记录.
DCL:
数据控制语言,用户的创建,搜权.
7.数据定义语言:
操作数据库
a.查询所有的数据库:
show databases;
b.创建数据库:
create database 库名;
c.选择要使用的数据库:
use 库名;
d.删除数据库:
drop database 库名;
操作表:
a.创建数据表:
学生:类 class{
String name;
int age;
String sex;
int id;
}
//char:固定长字符串 20 a:20
//varchar:可变长字符串 20 a:1;
//int:整数
//double:浮点数
//date:日期
create table student(sid int(10),sname varchar(20),age int(10),sex char(4));
b.查看表:
show tables;
c.查看表结构:
desc 表名;
修改表结构:
alter table 表名
添加一列:add
alter table student add(birthday date);
修改列类型:modify
alter table student modify birthday varchar(20);
修改列名:change
alter table student chang sid id int(10);
删除列:drop
alter table student drop birthday;
修改表名称:rename to
alter table student rename to t_stu;
删除表:
drop table 表名;
DML:
数据操作语言:针对的是表记录的添加,删除,修改
添加:
1.insert into 表名 values(值,值...);赋值的顺序和表结构顺序保持一致
2.insert into 表名(列名,列名) values(值,值); 指定列赋值
3.insert into 表名()/表名 values(),(),(),();
'注意事项:'
值和列的顺序以及个数保持一致
一次台南佳多行数据,小括号之间使用逗号隔开,小括号的个数代表了添加的行数;
select*from t_stu;//查看表中的所有数据
修改:前缀update 表名 set 列名=值,列名=值 where 条件
条件:
>,<,>=,<=,<>(不等于),!=(不等于),=
between and
in
and
or
is null
1.将id=3的学生的年龄修改为18:
update t_stu set age=18 where sid = 3;
2.将sid是3-5之间的年龄修改为20;
update t_stu set age=20 where sid >=3 and <=5;
update t_stu set age = 20 where sid between 3 and 5;
3.将年龄为18,19,31,54的学生的性别改为男:
update t_stu set sex='男' where age = 18 or age=19 or age=31 or age=54;
4.将id为null的学生的id设置为6;
update t_stu set sid = 6 where sid is null;
5.is not null
update t_stu set age=23 where sex is not null;
删除:前缀delete from 表名 where 条件
a.删除所有delete from 表名; --> 可以恢复的: 事务管理,如果事务没有确认,数据就可以恢复;
b.条件删除:
1.删除张三:
delete from t_stu where sname='张三';
2.删除年龄在15-25之间的学生:
delete from t_stu where age between 15 and 25;
3.删除id为1,3,5,7的学生;
delete from t_stu where sid in(1,3,5,7);
4.删除性别为null的学生;
delete from t_stu where sex is null;
5.删除id不为null的学生:
delete from t_stu where sid is not null;
解决乱码问题:
set names gbk;
当添加中文时提示添加错误,编码格式
数据库:utf-8
cmd:gbk
统一编码格式
整理:
关系型数据库:以表格的形式存储数据的数据库
数据库也被称为:DBMS
常见:mysql,oracle,DB2,sqlserver。。
Sql:结构化查询语言:数据库的官方语言
数据库存在方言:
每个sql以;结尾的;
关键字不能被定义为名称;
建议关键字大写:忽略
DDL:
数据定义语言:数据库和表结构的定义,创建,删除修改查看;
DML:
数据操作语言:增加删除修改表记录
DQL:
数据查询语言:查询表记录:条件查询,单表查询,多表查询,子查询
DCL:
数据控制语言:用户的创建,授权