林安随笔 - MySQL
type: channel
link: https://www.yuaq.cn/index.php/category/MySQL/
items: MySQL基础

MySQL基础
type: item
date: 2022-03-19T17:20:00+08:00
description: 安装...配置环境...配置文件：在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 …