当前位置:Gxlcms > 数据库问题 > mysql学习1

mysql学习1

时间:2021-07-01 10:21:17 帮助过:25人阅读

数据的仓库,如在ATM的示例中创建了一个db目录,称其为数据库

 

2.安装 

  1. <span style="font-size: 14px; font-family: "Microsoft YaHei"">下载
  2. http://dev.mysql.com/downloads/mysql/</span><br><br><span style="font-size: 14px; font-family: "Microsoft YaHei"">安装</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> windows:</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> (1)解压:如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录;</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> (2)初始化:MySQL解压后的bin目录下有一大堆可执行文件,执行如下命令初始化数据</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> D:\mysql\mysql5.7.16\mysql-5.7.16-winx64\bin\mysql --initialize-insecure</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> (3)启动MySQL服务:</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> #进入可执行文件目录</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> cd D:\mysql\mysql5.7.16\mysql-5.7.16-winx64\bin</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> #启动MySQL服务</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> mysql</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> (4)启动MySQL客户端并连接MySQL服务</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> 由于初始化数据时未给root账户设置密码</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> #进入可执行文件目录</span><br><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> cd D:\mysql\mysql5.7.16\mysql-5.7.16-winx64\bin</span>
  1. <span style="font-size: 14px; font-family: "Microsoft YaHei""> #连接MySQL服务器</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> mysql -u root -p</span><br><span style="font-size: 14px; font-family: "Microsoft YaHei""> #提示输入密码,直接回车即可</span>

见如下图表示安装成功:

技术分享

2.1添加环境变量

 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】

以后再启动服务并连接时,仅需:

  1. <span style="font-family: "Microsoft YaHei"">#启动MySQL服务,在终端输入
  2. mysqld
  3. #连接MySQL服务,在终端输入
  4. mysql -u root -p
  5. </span>

 

3.数据库操作

(1)显示数据库

  1. <span style="font-family: "Microsoft YaHei"">show databases;</span> 

(2)创建数据库 

  1. <span style="font-family: "Microsoft YaHei"">create database db2;
  2. create database db2 default charset utf8;</span><br><br>

#查看数据库

show databases;

#使用数据库

use 数据库名称

#删除数据库名称为db2的数据库
drop database db2;

(3)用户管理

  1. <span style="font-size: 14px; font-family: "Microsoft YaHei"">#创建用户
  2. create user "alex"@"192.168.1.1" ["用户名”@“IP地址"] identified by "123123"[“密码”];
  3. #删除用户
  4. drop user "alex"@"192.168.1.1"["用户名”@“IP地址"];
  5. #修改用户
  6. rename user "alex"@"192.168.1.1["用户名”@“IP地址"];to "alex1"@"192.168.1.2["新用户名”@“新IP地址"]
  7. #修改密码
  8. set password for "alex"@"192.168.1.1["用户名”@“IP地址"] = Password("新密码")
  9. </span>

(4)授权管理

  1. <span style="font-family: "Microsoft YaHei"; font-size: 14px">#查看权限
  2. show grants for "用户"@“IP地址”
  3. #授权
  4. grant 权限 on 数据库.表 to "用户"@“IP地址”
  5. #取消权限
  6. revoke 权限 on 数据库.表 from "用户"@“IP地址”
  7. </span>

 

4.基本数据表

( 1 )创建表

  1. <span style="font-family: "Microsoft YaHei"; font-size: 14px">create table 表名(
  2. 列名 类型 是否可以为空,
  3. 列名 类型 是否可以为空
  4. )engine=innodb default charset=utf8
  5. </span>

( 2 )删除表

  1. <span style="font-family: "Microsoft YaHei"; font-size: 14px">drop table 表名
  2. </span>

(3)清空表

  1. <span style="font-family: "Microsoft YaHei"; font-size: 14px">delete from 表名
  2. truncate table 表名
  3. </span>

(4)修改表

  1. <span style="font-family: "Microsoft YaHei"; font-size: 14px">添加列:alter table 表名 add 列名 类型
  2. 删除列:alter table 表名 drop column 列名
  3. 修改列:
  4. alter table 表名 modify column 列名 类型; -- 类型
  5. alter table 表名 change 原列名 新列名 类型; -- 列名,类型
  6. 添加主键:
  7. alter table 表名 add primary key(列名);
  8. 删除主键:
  9. alter table 表名 drop primary key;
  10. alter table 表名 modify 列名 int, drop primary key;
  11. 添加外键:alter table 从表 add constraint 外键名称(形如:FK_从表_主表) foreign key 从表(外键字段) references 主表(主键字段);
  12. 删除外键:alter table 表名 drop foreign key 外键名称
  13. 修改默认值:ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
  14. 删除默认值:ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
  15. </span>

 

5.基本数据类型

MySQL的数据类型大致分为:数值,时间和字符串

(1)整数类型

tinyint, smallint, mediumint, int/intrger, bigint

(2)浮点数类型

float, double

(3)日期时间

date, datetime, timestamp, time, year

技术分享

(4)字符串类型

char    速度快

varchar   节省空间

 

 6.表内容操作

(1)增

  1. <span style="font-family: "Microsoft YaHei"">insert into 表 (列名,列名...) values (值,值,值...)
  2. insert into 表 (列名,列名...) values (值,值,值...),(值,值,值...)
  3. insert into 表 (列名,列名...) select (列名,列名...) from 表 </span>

(2)删

  1. <span style="font-family: "Microsoft YaHei"">delete from 表
  2. delete from 表 where id=1 and name=‘alex‘</span>

(3)改

  1. <span style="font-family: "Microsoft YaHei"">update 表 set name = ‘alex‘ where id>1 </span>

(4)查

  1. <span style="font-family: "Microsoft YaHei"">select * from 表
  2. select * from 表 where id > 1
  3. select nid,name,gender as gg from 表 where id > 1</span>

(5)其他

  1. <span style="font-family: "Microsoft YaHei"">a、条件
  2. select * from 表 where id > 1 and name != ‘alex‘ and num = 12;
  3. select * from 表 where id between 5 and 16;
  4. select * from 表 where id in (11,22,33)
  5. select * from 表 where id not in (11,22,33)
  6. select * from 表 where id in (select nid from 表)
  7. b、通配符
  8. select * from 表 where name like ‘ale%‘ - ale开头的所有(多个字符串)
  9. select * from 表 where name like ‘ale_‘ - ale开头的所有(一个字符)
  10. c、限制
  11. select * from 表 limit 5; - 前5行
  12. select * from 表 limit 4,5; - 从第4行开始的5行
  13. select * from 表 limit 5 offset 4 - 从第4行开始的5行
  14. d、排序
  15. select * from 表 order by 列 asc - 根据 “列” 从小到大排列
  16. select * from 表 order by 列 desc - 根据 “列” 从大到小排列
  17. select * from 表 order by 列1 desc,列2 asc - 根据 “列1” 从大到小排列,如果相同则按列2从小到大排序
  18. e、分组
  19. select num from 表 group by num
  20. select num,nid from 表 group by num,nid
  21. select num,nid from 表 where nid > 10 group by num,nid order nid desc
  22. select num,nid,count(*),sum(score),max(score),min(score) from 表 group by num,nid
  23. select num from 表 group by num having max(id) > 10
  24. 特别的:group by 必须在where之后,order by之前
  25. f、连表
  26. 无对应关系则不显示
  27. select A.num, A.name, B.name
  28. from A,B
  29. Where A.nid = B.nid
  30. 无对应关系则不显示
  31. select A.num, A.name, B.name
  32. from A inner join B
  33. on A.nid = B.nid
  34. A表所有显示,如果B中无对应关系,则值为null
  35. select A.num, A.name, B.name
  36. from A left join B
  37. on A.nid = B.nid
  38. B表所有显示,如果B中无对应关系,则值为null
  39. select A.num, A.name, B.name
  40. from A right join B
  41. on A.nid = B.nid
  42. g、组合
  43. 组合,自动处理重合
  44. select nickname
  45. from A
  46. union
  47. select name
  48. from B
  49. 组合,不处理重合
  50. select nickname
  51. from A
  52. union all
  53. select name
  54. from B
  55. </span>

  

 

mysql学习1

标签:字段   add   from   modify   账户   mysql\   mysql学习   for   rename   

人气教程排行