MySQL学习笔记(浅学浅记)

文章目录

      • 1、运行cmd
      • 创建数据库
      • 选择数据库
      • 简单查询
      • 条件查询
      • 操作数据库
      • 查看存储引擎
      • 创建表
      • 操作数据
      • 联合查询、合并查询
      • 索引
      • 视图
      • 触发器
      • 事务和锁
      • 表的导入和导出
      • Mysql服务管理

1、运行cmd

连接Mysql
语法格式:mysql -uroot -p -P3306 -h127.0.0.1
-u表示用户 root是mysql默认的用户名;
-p表示密码;
-P表示端口,连接mysql时的端口如果端口默认为3306,那么这个参数可以不写;
-h表示IP ,连接的mysql所在的机器的ip地址,如果连接本机可以填写127.0.0.1或localhost或不写这个参数;

例如
连接本机的mysql
mysql -uroot -p

创建数据库

(创建后mysql会在本地磁盘中创建一个文件夹,这个文件夹就是库,这里面用于存放数据的表)
语法格式
Create database 数据库名;

选择数据库

 语法格式
 Use 数据库名;

注意:如果需要对数据做任何的操作,必须要选择数据库以后,才能对这个库下的表进行操作;
执行命令
source sql脚本文件所在的绝对位置
例如:source b:/hu.sql;(这个叫导入数据库表);

简单查询

查询select,用于从数据表中获取指定的数据;
语法格式
select 显示列名1,显示列名2,显示列名3,…显示列名n from 表名;
注意:
1.显示列名默认与表中的字段名是一样的;
2.显示列可以直接进行数学计算,但要求这个字段的类型必须是数字型;
3.如果想获取所有的列,那么可以*,但是不推荐这么做,因为查询速度会降低,尽可能的需要哪些列就获取哪些列;

显示列设置别名
语法格式
显示列名 as 别名

显示列名 别名
注意:
1.如果别名包含特殊字符,例如空格或汉字等等,必须要在别名上添加”。例如:显示列名 as ‘别名’;

条件查询

语法格式
Select 显示列名 from 表名 where 字段名 简单运算符 数据
注意:
1.简单运算符包括:= <  <=  > >= !=
2.数据库中所有的关键字不区分大小写,包括字段名和库名,但是数据区分大小写;
3.在数据库中数字可以使用< <= > >=,字符串也可以使用,字符串会按照字典顺序排列大小

Between…and…运算符获取某个区间范围内容的数据
语法格式
字段名 between 开始值 and 结束值;
注意:
1.只能应用于数字字段;
2.它会包含开始值和结束值;

Is null 获取列为null的数据
语法格式
字段名 is null
注意:
1.如果需要获取某个列为null的数据时不能使用字段名=null或字段名=‘null’;
2.Is null 只能获取数据本身为null,但不能获取数据内容为null的数据;

And和or运算符
and要求两侧的条件都真这条才会被获取;
Or要求两侧的条件有一个为真疏忽就会被获取;
语法格式
字段名 = 数据 and 字段名 =数据…
字段名 = 数据 or 字段名 = 数据…

in运算符 获取所有包含在某个范围内的所有数据
语法格式
字段名 in(数据1,数据2,…数据n)

Not运算符 表示取反的意思,必须配合is null 或in 一起使用才有效
Not in 表示不包含在某个范围内容
语法格式
字段名 not in(数据1,数据2,…数据n)
Is not null表示不是空的
语法格式
字段名 is not null

操作数据库

1.查看数据库 show databases;
2.使用某个数据库 use 数据库名 查看数据库的表 show tables 查看表结构 desc 表名;
3.删除某个数据库 drop 数据库名;

查看存储引擎

Show engines;
show variables like ‘%storage_engine%’;
修改默认存储引擎
set default_storage_engine = InnoDB;(举例)

创建表

mysql> CREATE TABLE t_class(
-> classno INT,
-> cname VARCHAR(20),
-> loc VARCHAR(40),
-> stucount INT);
show create table t_class;查看创建表t_class的SQL语句;
drop table t_class;删除表;
alter table t_class add advisor varchar(20);给表t_class增加字段;
alter table t_class rename tab_class;修改表名;
alter table tab_class drop cname;删除表的字段cname;
Alter table tab_class change 要修改的字段名 修改之后的名字 修改之后的数据类型;

操作数据

Update from 表名 where 条件;更新某条数据
Delete from 表名 where 条件;删除某条数据;
Delete from 表名;删除表的所有数据;
Select distinct age from 表名;查询出不同的记录;

SELECT stuid,name,Chinese from s_score ORDER BY Chinese DESC;根据语文成绩降序排列;
SELECT * FROM t_teacher GROUP BY subject;根据科目(subject)分组

mysql> SELECT subject,GROUP_CONCAT(name) name,COUNT(name) number
-> FROM t_teacher GROUP BY subject;
±--------±--------------±-------+
| subject | name | number |
±--------±--------------±-------+
| Chinese | Justin,Robert | 2 |
| English | Will,Mary,Tom | 3 |
±--------±--------------±-------+

联合查询、合并查询

SELECT t.stuid,t.name FROM t_student t UNION SELECT tc.classno,tc.cname FROM t_class tc;
±------±---------------+
| stuid | name |
±------±---------------+
| 1001 | Alicia Florric |
| 1002 | Kalinda |
| 1003 | Cary |
| 1004 | Diane |
| 1005 | Eli |
| 1 | class_1 |
| 2 | class_2 |
| 3 | class_3 |
| 4 | class_4 |
±------±---------------+

索引

CREATE UNIQUE INDEX index_classno ON t_class(classno);

视图

Alter语句:修改
Delete语句:删除
Update语句:更新

Create view view_dept创建视图;

存储程序可分为存储过程和函数,语句分别为:create procedure 和 create function,使用call语句来调用存储过程,只能用输出变量返回值。函数可以从语句外调用(即通过引用函数名),也能返回标量值。存储过程也能调用其他存储过程。

触发器

Create trigger 。。。创建触发器
DROP TRIGGER loggertime;删除触发器

事务和锁

select @@transaction_isolation;
REPEATABLE-READ(可重复读)
会话事务级别;全局事务级别

表的导入和导出

Mysql服务管理

二进制日志:主要记录数据库的变化情况
show variables like ‘log_bin%’;
show binary logs;(二进制日志)
慢进制日志
日志管理——错误日志
通用日志

你可能感兴趣的:(MySQL学习笔记(浅学浅记))