一.mysql类型
结构性数据库 以表的形式来存储数据
二.安装mysql
若安装不成功:一定要把文件删除干净,只卸载mysql是没有用的
① 卸载mysql
② c盘programfiles文件删除mysql
③ 去找隐藏文件 prgramData,删除mysql文件
④ 重新安装mysql
隐藏文件:电脑文件 组织 文件夹和搜索选项 查看 显示隐藏文件
安装时碰到如下界面,将编码格式改为utf-8
安装完成的最后一步,等待四个对勾全部自动打上,则安装完成
三.命令
1.输入密码后黑屏闪退
原因:mysql服务没有开启
①
② 在mysql文件中找bin文件,bin文件中启动mysqld和mysql
mysqld.exe 启动服务文件
mysql.exe 执行文件
2.mysql命令
① show databases; 显示所有的数据库
② create database myblod; 创建数据库,接下来去创建的库里边创建表
③ use myblod; 定位到库
④ create table user(
id int not null,
name varchar(100) not null,
age int,
address varchar(200)); 创建表的语法
⑤ show tables; 显示表
⑥ 在mysql软件中,连接我们创建的表即可,也可以在mysql中输入
四.数据库里边的增删改差
1.查
set names ‘gbk’ 数据乱码
select*from user; 查看所有数据
select count(*) from user where id=1 and name=‘小张’;
若输入的是账号密码,可以检测一个人是否存在,若存在则允许登录。输出的是1的话则表示存在,输出的是0的话表示不存在。count()是mysql中的一个函数,在这里边是列名。
若想改变列名 select count() as name from user…即可,as后边是新的列名。
select name,address from user 按照列来查询
select * from user where id in (1,2); 查看id为1和2的数据
select * from user where address like “%市%” 模糊查找
查找的里边包含市即可
select*from user where address like “市%” 以市开头
select*from user where address like “%市” 以市结尾
需要注意前后百分号的问题
数据库数据分页
www.maodu.com/node/pagenow?nowpage=1&num=10 返回当前页(第一页)的十条数据。
select*fromuser limit 1,2; 从1开始取(不包括1),取两个
目前是单表查询,后边还会有多表查询
2.增
单行插入 多行插入 数据之间用逗号隔开即可
insert into user (id,name,age,address)
value
(4,"小红’,20,“北京省”),
(4,‘小杨’,21,‘上海省’);
默认全部写法
要确保所有的列的数据都要加,上边写的有的列可以为空
insert into user values (6,‘米奇’,18,“杭州”);
3.修改
修改单个
update user set name=“米妮” where id=6;
修改多个,数据之间用逗号隔开
update user set age=8,address=“西安市” where id=6;
4.删
delete from user; 删除所有数据
delete from user where id in (3,4,5,6); 删除id为3,4,5和6的数据.同时删除多个数据
delete from user where id=1; 删除一个数据
delete from user where id in (select id from user where name=‘老鼠’) 直接操作同一张表会报错
ERROR1093:不能在查找表的同时删除这张表
delete from user where id in (select id from (select * from user where name=“小月”) as list); 删除所有名字为小月的数据
五.主键外键
多张表之间的链接,给表建立主外件,一张表只能有一个主键,多个外键(外键引用的是主表里边的主键)
alter table user add primary key (id); 表外添加主键
id int primary key not null, 表内添加主键,在建表的时候直接写好,主键不为空
alter table pwdinfo add foreign key(id) references user(id); 表外添加外键进行引用
主键的特点:不能为空 不能重复 (建表的时候主键都是自增列)
外键: 引用的是主表里边的主键 值要和主表保持一致
建表的时候添加主键以及自增列 auto_increment
create table myfriend(
id int primary key auto_increment not null);
若主外键之间已经产生链接关系,删除数据时要先删外键,再删主键(先删子,再删主)
在mysql软件中建立主外键联系
带黄🔑的是主键
在视图中看外键和主键之间的关系
操作mysql软件
右键 新建数据库 新建表
若想将数据带回家,右键,转储SQL文件,结构和数据,将文件导到桌面即可
排序
select * from user order byage asc;升序
select from user order by age desc; 降序
分组查询
例如根据男女进行分组查询
select sex,count() from user group by sex;
数据库里边加索引,提高访问的速度,直接用索引去查数据。
alter table user add index id(Name);
查找:select * from user where name=" ";