mysql 数据库

mysql下载:

           MySQL官网—>Downloads—>Community—>mysql Community Server(绿色版)—>windows(x86,64-bit),zip Archive


mysql安装:

mysql-5.7.13-winx64  —>修改配置文件(my.ini中basedir ="D:\MySQL\mysql-5.7.13-winx64",

datadir ="D:\MySQL\mysql-5.7.13-winx64\data",

Server = "D:\MySQL\mysql-5.7.13-winx64\bin\mysqld.exe")

—>cmd(window10以管理员身份运行)

—>cd D:\MySQL\mysql-5.7.13-winx64

(cd 切换目录 d 切换磁盘)

—>cd bin

—>mysql --initialize -insecure --user = mysql

—>mysql -install

—>net start mysql (开启服务)


查看服务: window + r —> services.msc

配置环境变量:计算机属性—>高级—>环境变量—>系统变量—>path中 + .......;D:\MySQL\mysql-5.7.13-winx64\bin

—>cmd

—>mysql -uroot

—>use mysql

—>update user set authentication_string = password(6666) where User = 'root'; (修改密码)

—>flush privileges; (刷新权限)

—>exit (退出)

—>mysql -uroot -p (登录MySQL)

—>6666


MySQL的使用:

1、创建数据库 create database 数据库名;

2、查看数据库 show databases;

show create database 数据库名;

3、选择(使用)数据库 use 数据库名;

     4、删除数据库 drop database 数据库名;


概念:

数据库 (database) —> 文件夹/目录表 (table) —> 文件 ( 如: Excel )

行 (row) —> 一条一条的数据

字段 (属性) —> 列的属性


分类:

DDL:  数据库定义语言 数据库和表

DML:  数据库操作语言 数据(row)的 增、删、改

DQL:  数据库查询语言 数据(row)的 查询

TCL:  事物控制语言 事物、权限


表 (文件)操作(DDL:  数据库定义语言): 

—>use 数据库名 (创建文件前,必须进入到某个文件夹中)

1、增 (创建表)

—>create table 表名(

字段名1 类型1 [约束],

字段名2 类型,

......

);

2、删

—>drop table 表名;

3改 (修改)

①修改表名: alert table 表名 rename to 新表名;

②添加字段: alert table 表名 add column 列名 字段属性;

③修改字段: alert table 表名 change column 旧列名 新列名 字段属性;

④删除字段 alert table 表名 drop column 列名;

如: —>alert table hx_user rename to users;

—>alert table users add column sex2 varchar(4) not null;

—>alert table users change column sex2 sex3 int;

—>alert table users drop column sex3;

4、查 (查询)

—>show tables; (查询所有表)

—>desc 表名 (查看表头)


DML 数据库操作语言

1、增 insert into 表名[(字段1,字段2...)]  values(值1,值2...);

如: —> insert into users(id, username, password) values(1, 'user1', 'pwd1');

2、删 delete from 表名[where 条件];

如:  —> delete from users where id is null;

3、改 update 表名 set 字段1 = 值1,字段2 = 值2... [where 条件];

如:  —> update users set password = 'pwd' where id = 1;


DQL:  数据库查询语言

1、查询表 select * from 表名;

2、语法: select 字段1[as 别名],字段2... from 表名 [where 条件 group by 分组字段 having 分组条件 order by 排序字段 排序规则];

3、指定字段查询:   select 字段1[as 别名],字段2... from 表名;

如: —> select id,name,job from teacher;

4、不重复字段查询: select distinct 字段名 from 表名;

如: —> select distinct job from teacher;

5、where 条件查询: 如: —> select * from teacher where age > 20;

6、模糊查询: "_" : 表示任意一个字 "%" : 表示任意的0、1、2 ...

'%红' : 表示以"红"字结尾

'小%' : 表示以"小"字开头

如: —> select * from teacher where name like '%红';

7、排序 asc升序/desc降序 如: —> select * from teacher order by id desc;

8、聚合函数: ①avg() 平均值 如: —> select avg(age) from teacher;

②count() 总数 如: —> select count(*) from teacher;

③max/min 最大/最小值 如: —> select max(age) ,min(age) from teacher;

④sum() 求和 如: —> select sum(age) from teacher;

9、分组函数: select 字段1,字段2... from 表名 group by 分组字段 having 分组条件;

如: —> select job,count(*) from teacher group by job having count(*) > 2;

10、分页 limit m,n m:下标,索引从0开始, n: 多少条数据

如: —> select * from teacher limit 0,2;


11、约束类型: ①unique  唯一约束,不允许字段重复出现

  ②not  null  非空约束,不允许字段不输入值

  ③primary  主键约束,  unique + nut null

  ④auto_increment  自增长,  只能在主键上,int、bigint类型

  ⑤foreign key  外键约束,    连接表与表之间的关系,

12外键约束 ①一对一  人(主) ——身份证(次,主键) ,一般是合表

②一对多   外键一般设置在多的一方

③多对多    学生表(n)  < — 创建一个中间表(2个外键) —> 课程表(m)

④创建外键 foreign key (当前需要指出的字段) references 外键表名(指向的列);

如: —> foregin key(calssId) references hx_class(Id);


多表查询:

1、内连接接 ①显示内连接: select * from 表1 [inner] join 表2 [on 连接条件 where 筛选条件];

笛卡尔积: 两张表的乘积,产生了许多费数据

通过外键关系解决: 如: —> select * from hx_class c inner join hx_student s on c.Id = s.classId;

②隐士内连接: select * from 表1,表2 where 条件;

如: —> select * from hx_class as c,hx_student as s where c.Id = s.classId;

2、外链接 ①左外连接: select * from 表1 left outer join 表2 [on 连接条件 where 筛选条件];

如: —> select * from hx_class c left outer join hx_student s on c.id = s.classId;

      ②右外连接:  select * from 表1 right outer join 表2 [on 连接条件 where 筛选条件];

如: —> select * from hx_class c rigth outer join hx_student s on c.id = s.classId;

3、子查询 一条sql语句的结果作为条件,给另一个sql使用

如: —> select * from hx_class where id = (select classId from hx_stydent where name = '小红花');






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值