常用的几个名词:
DB:Database 数据库
DBMS:Database Management System 数据库管理系统
DBS:数据库系统
MySQL数据库是一款开源的,免费的,跨平台性好的,性能较好的数据库
MySQL的目录结构:
Bin:mysql应用程序目录 、Data:一般为数据目录 、Docs:文档 Include:头文件、 Lib:库文件 、Mysql-test:测试目录、 Share:存放字符集及不同语言信息 、Sql-bench:压力测试工具、 Mydefault.ini :mysql配置文件
数据库的常用概念:
- 数据库:一个数据库管理系统可以管理多个数据库
- 数据表:一个数据库中有多个数据表
- 数据行:一个数据库中有多个数据行
- 数据列:一行数据中有多个数据列,即字段
- 视图:虚拟表
- 索引:用于加快对表数据的访问
- 主键:主键字段不允许为空且唯一识别表中的一行数据
- 外键:用于指定两个表之间的关系
- 事物:更新数据的一个程序单元
mysql 数据库产常用语句:
--查看所有数据库 show databases
--使用某个数据库 use databsename,以下几个库不建议修改
- information_schema:主要存储系统中的一些数据库对象
- performance_schema:主要存储数据库服务器性能参数,一般为DBA及高级用户用于分析数据库性能瓶颈
- Mysql:主要存储系统用户权限信息
--创建数据表
create table tname(
id int primary key,
name varchar(20) not null unique key,
birthday date,
createtime datetime
);
--创建数据库并指定字符集
create database if not exists default charset utf8 collate utf8_general_ci:
--删除数据库
drop database dname
对表数据的增删改查
1.增加
1)一次插入一条数据
insert into tname(id,name,birthday,createtime)values(1,'Tom','1996-05-02',sysdate());
2)一次插入多条数据
insert into tname(id,name,birthday,createtime)values(2,'Tom2','1996-05-02',sysdate()),(3,'Tom3','1996-05-02',sysdate()),(4,Tom4','1996-05-02',sysdate());
2.删除
1)delete from tname where id=4;删除id为4的数据
2)delete from tname;删除表中的所有数据
3.修改
update tnameset name='Jerry' where id=1;
4.查询
1)select * from tname;查询tname表中所有数据
2)select name from tname where id = 1;查询tname表中id为1 的name
对表字段以及约束的增删改
1)添加索引
alter table xiong2 add index idx_xiaoxiongxoing_name(name);
2)添加主键和唯一键
alter table xiong3 add primary key(id);
alter table xiong3 add unique key(name);
3)添加表字段
alter table xiong3 add column sex varchar(5) null; (null表示可以为空,视情况而定,也可以写为not null)
4)添加外键
alter table xiong3 add foreign key fk_xiong3_xiaoxiongxiong_id(id) references xiaoxiongxoing(id);
alter table 小表名 add foreign key fk_小表名_分类表名_id(id) references 分类表名(id);
2.删除
-
增加
1)删除表字段
alter table xiong3 drop column sex;
2) 删除主键
alter table xiong3 drop primary key;
3) 删除索引
alter table xiong2 drop index idx_xiaoxiongxoing_name;
4) 删除外键约束
alter table xiong3 drop foreign key fk_xiong3_xiaoxiongxiong_id;
5)禁用约束
alter table xiong3 disable keys;
6)启用约束
alter table xiong3 enable keys;
3.修改
1)修改表名
alter table xiong3 rename xiong3333;
2)修改表字段名称(修改字段名称时必须要注意兼容性及精度,除非该列数据都为null)
alter table xiong3 change column name xiongname varchar(30);(将xiong3中的name修改为carchar(30)的xiongname)
4)修改字段类型(修改字段类型时必须要注意兼容性及精度,除非该列数据都为null)
alter table xiong3 modify column xiongname varchar(40);
5)修改字段约束
如设置default
alter table xiong3 alter column xiongname set default 'iamname';
删除default
alter table xiong3 alter column xiongname drop default;