安装...
配置环境...
配置文件:
在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 <表名>;
1 条评论
文章紧扣主题,观点鲜明,展现出深刻的思考维度。