mysql学习小结

1、下载

  下载地址:MySQL :: Download MySQL Community Server

下载版本 Windows (x86, 64-bit), ZIP Archive

2、安装

解压,配置创建 my.ini 配置文件,然后进入对应的bin目录执行

1)初始化数据库:.\mysqld.exe --initialize --console

执行完成后,会输出 root 用户的初始默认密码,切记

2)安装命令:.\mysqld.exe install

     注:如果执行不了,记得换用有管理员权限的命令行,详见:解决 win10安装MySQL服务失败,Install/Remove of the Service Denied!_一名准程序员-CSDN博客

3)启动服务:net start mysql

4)登陆: .\mysql.exe -h localhost -u root -p,登陆本机可不加-h参数

安装过程:

a.找不到ddl则安装下微软VC++2015版运行库(Microsoft Visual C++ 2015 Redistributable Package),详见https://blog.csdn.net/weixin_42089175/article/details/97294831

b.如果忘记记密码,则重置密码,方法:

b1)关闭服务:net stop mysql

b2)编写mysqlc.txt文件,内容:

ALTER USER 'root'@'localhost' IDENTIFIED BY 123456

(

注:命令行修改密码命令为(多了单引号):

alter user 'root'@'localhost' identified with mysql_native_password by '123456';

)

b3)命令行方式启动服务器,启动后即将密码改成123456:

 .\mysqld.exe --init-file=Q:\MySQL\mysql-8.0.16-winx64\mysqlc.txt --console

b4)执行完b3命令,然后关掉,再用net start mysql启动服务,再用12345密码登陆即可

详见https://blog.csdn.net/csh1807266489/article/details/94477928

3、使用

登陆后执行指令。

1)切换数据库: use 数据库名;

2)字段类型

DATETIME 包含日期与时间

DATE 只有日期 

TIME 只有时间

YEAR 只有年

3)创建数据库表:

CREATE TABLE IF NOT EXISTS `runoob_tbl`(
   `runoob_id` INT UNSIGNED AUTO_INCREMENT,
   `runoob_title` VARCHAR(100) NOT NULL,
   `runoob_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

4)查询

  • 你可以使用 LIMIT 属性来设定返回的记录数。
  • 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

5)<>, != 比较不等用这两个

6)UNION 只会选取不同的值。请使用 UNION ALL 来选取重复的值!

7)排序

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2...] [ASC [DESC][默认 ASC]]

8)WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。

mysql> SELECT name, SUM(signin) as signin_count FROM  employee_tbl GROUP BY name WITH ROLLUP;
+--------+--------------+
| name   | signin_count |
+--------+--------------+
| 小丽 |            2 |
| 小明 |            7 |
| 小王 |            7 |
| NULL   |           16 |
+--------+--------------+

9)字段空值赋默认值,c为可选参数:

coalesce(a,b,c) 如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。

10)连接

  • INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
  • LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
  • RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

11)null值

  • IS NULL: 当列的值是 NULL,此运算符返回 true。
  • IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
  • <=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true。
  •  ifnull(columnName2,0) 把 columnName2 中 null 值转为 0

12)

ROLLBACK 回滚的用法可以设置保留点 SAVEPOINT,执行多条操作时,回滚到想要的那条语句之前。

使用 SAVEPOINT

SAVEPOINT savepoint_name;    // 声明一个 savepoint

ROLLBACK TO savepoint_name;  // 回滚到savepoint

保留点再事务处理完成(执行一条 ROLLBACK 或 COMMIT)后自动释放。

MySQL5 以来,可以用:

RELEASE SAVEPOINT savepoint_name;

13)修改表

删字段:ALTER TABLE testalter_tbl DROP i;

加字段:ALTER TABLE testalter_tbl ADD i INT;

指定新增字段的位置可用first或after:

ALTER TABLE testalter_tbl ADD i INT FIRST;
ALTER TABLE testalter_tbl ADD i INT AFTER c;

改字段:ALTER TABLE testalter_tbl MODIFY c CHAR(10);

改字段2:ALTER TABLE testalter_tbl CHANGE i j BIGINT;//在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型。

指定字段 j 为 NOT NULL 且默认值为100:

ALTER TABLE testalter_tbl MODIFY j BIGINT NOT NULL DEFAULT 100;

修改字段的默认值:

ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;

 ALTER 命令及 DROP子句来删除字段的默认值,如下实例:

ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;

修改数据表的名称:

ALTER TABLE testalter_tbl RENAME TO alter_tbl;

查看数据表类型可以使用 SHOW TABLE STATUS 

修改存储引擎:修改为myisam

alter table tableName engine=myisam;

删除外键约束:keyName是外键别名

alter table tableName drop foreign key keyName;

其它懒得抄了,见:MySQL 索引 | 菜鸟教程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值