安装...
配置环境...
配置文件:
在mysql文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:

# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不
# 需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#修改导入文件大小
max_allowed_packet = 1000M  
#关闭严谨模式
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 

 
登录/启动mysql:mysql -h 主机名 -u 用户名 -p

  • -h : 指定客户端所要登录的 MySQL 主机名, 登录本机(localhost 或 127.0.0.1)该参数可以省略;
  • -u : 登录的用户名;
  • -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。

不能用mysql语句作为命名

  • 创建数据库:CREATE DATABASE 数据库名;
  • 设置数据库编码 utf8:

    • CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 
  • 展示数据库:SHOW DATABASES;
  • 删除数据库:drop database <数据库名>;
  • 选择数据库:USE <数据库名>;
  • 创建数据表:CREATE TABLE <数据表名>;
  • 展示数据库:SHOW TABLES;
  • 删除数据表:

    • 方法1:truncate table 你的表名 //这样不但将数据全部删除,而且重新定位自增的字段
    • 方法2:delete from 你的表名dbcc checkident(你的表名,reseed,0) //重新定位自增的字段,让它从1开始
    • 方法3:如果你要保存你的数据,介绍你第三种方法,by QINYI用phpmyadmin导出数据库,编辑sql文件,将其中的自增下一个id号改好,再导入
  • 常用数据类型:

数值型:

   类型:              范围(无符号):          用途:
  TINYINT              (0,255)               小整数值
  INT               (0,4294967295)           大整数值
  BIGINT              (0,...)               极大整数值
  FLOAT              (0,1.175...)           单精度浮点数
  DOUBLE              (0,2.225...)           双精度浮点数 

日期和时间:

  类型:               格式:            用途: 
 DATE            YYYY-MM-DD             日期值
 TIME             HH:MM:SS             时间值或持续时间
 TIMESTAMP      YYYYMMDD HHMMSS      时间戳

字符型:

 类型:             大小(字符):        用途:
 CHAR               0-255             定长字符串
 VARCHAR           0-65535             变长字符串
 TEXT               0-65535             长文本数据

创建带字段的数据表:

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

insert into <表名>(字段1, 字段2...) values(v1, v2...);
insert into student(name, subjects, score, study) values('小紫','语文',80,'计算机'),('小龙','数学',100,'计算机'),('小龙','英语',60,'计算机')...;

  • 删除:

delete from <表名> where <条件>;

  • 修改:

update <表名> set <修改字段> where <条件>;

  • 查询:

select <查询字段> from <表名> where <条件>;

  • 去重统计:

SELECT COUNT(DISTINCT(name)) AS name FROM student;

  • 查询多门学科成绩和:

select sum(score) from student where name='莉莉' and subjects in ('数学' , '语文');

  • 查询所有学生成绩和:

select name,sum(score) from student group by name;

  • 总成绩降序排序:

select name,sum(score) as sum_score from student group by name order by sum_score desc;

  • 查询前三名:

select name,sum(score) as sum_score from student group by name order by sum_score desc limit 3;

  • 查询所有成绩大于240的学生:

select name,sum(score) as sum_score from student group by name having sum_score > 240;

  • 模糊查询:

select <查询字段> from <表名> where <字段> like'%<模糊内容>%';

  • 分页查询:

select * from <表名> limit page,pagesize;

  • 排序:

SELECT * from <表名> ORDER BY <排序字段> DESC; # 【ASC 升序,DESC 降序】

数据过滤:

  • AND 操作符(满足所有)SELECT <列名> FROM <表名> WHERE <过滤条件1> AND <过滤条件2>;
  • OR 操作符(满足其一) SELECT <列名> FROM <表名> WHERE <过滤规则1> OR <过滤规则2>;
  • IN 操作符(指定范围) SELECT <列名> FROM <表名> WHERE <列名> IN (<检索值1>, <检索值2>, ...);
  • NOT 操作符(排除指定范围)SELECT <列名> FROM <表名> WHERE <列名> NOT IN (<检索值1>, <检索值2>, ...);

通配符过滤:

  • 百分号通配符(开头或结尾) SELECT <列名> FROM <表名> WHERE <列名> LIKE '<开头字符>%<结尾字符>';
  • 百分号通配符(包含) SELECT <列名> FROM <表名> WHERE <列名> LIKE '%<包含字符>%';
  • 下划线通配符(开头或结尾) SELECT <列名> FROM <表名> WHERE <列名> LIKE '<开头单字符>_<结尾单字符>';
  • 下划线通配符(包含) SELECT <列名> FROM <表名> WHERE <列名> LIKE '_<包含单字符>_';

用正则表达式搜索:

  • 不区分大小写 SELECT <列名> FROM <表名> WHERE <列名> REGEXP '<正则表达式>';
  • 区分大小写 SELECT <列名> FROM <表名> WHERE <列名> REGEXP BINARY '<正则表达式>';
  • 常用正则表达式:

    • 基本字符匹配 <匹配文本>
    • 进行OR匹配 [<匹配文本>]
    • 匹配范围 [<匹配文本>-<匹配文本>]
    • 匹配特殊字符 \<特殊字符>

数据操作:

  • 返回某列的平均值 SELECT AVG(<列名>) AS <列别名> FROM <表名>;
  • 返回某列的最大值 SELECT MAX(<列名>) AS <列别名> FROM <表名>;
  • 返回某列的最小值 SELECT MIN(<列名>) AS <列别名> FROM <表名>;
  • 返回某列的行数 SELECT COUNT(<列名>) AS <列别名> FROM <表名>;
  • 返回某列值之和 SELECT SUM(<列名>) AS <列别名> FROM <表名>;
最后修改:2023 年 06 月 13 日
如果觉得我的文章对你有用,请随意赞赏