mysql安装(安装版)
mysql安装(安装版)
* mysql默认端口:3306
* mysql 安装默认账号: root
* %mysql%/my.ini , mysql 数据库的配置文件
* 端口号: port=3306
* mysql 默认字符集: default-character-set=utf8
* mysql数据库目录:datadir="C:/java/MySQL/MySQL Server 5.5/Data/"
* mysql安装默认账号:root
* %mysql%/my.ini,mysql数据库的配置文件
* 端口号:port=3306
* mysql默认字符集:default-character-set=utf8
* mysql 数据库目录: datadir="C:/java/MySQL/MySQL Server 5.5/Data/"
* mysql 安装默认账号: root
* %mysql%/my.ini , mysql 数据库的配置文件
* 端口号: port=3306
* mysql默认字符集:default-character-set=utf8
* mysql数据库目录:datadir="C:/java/MySQL/MySQL Server 5.5/Data/"
mysql启动
mysql启动
* windows 服务中:启动 / 停止
* cmd > mysqld --console
mysql 登录
* 格式 1 : cmd > mysql -h 主机域名 /IP -u 账号 -p[ 密码 ]
* 格式 2 : cmd > mysql --host= 主机域名 /IP --user= 账号 --password[= 密码 ]
* mysql 帮助: cmd > mysql -?
* 访问指定主机的 mysql 服务器: cmd > mysql -h192.168.1.204 -uroot -p1234
mysql 绿化版
* 解压,复制 ini 文件 my-small.ini ,将名称修改为 my.ini
* 配置系统变量 path
* 注册与移除
* 将 mysql 注册为系统服务: cmd > C:\java\mysql-5.5.27-win32\bin>mysqld --install
* 注意:必须将当前目录切换为%mysql%/bin
* 将mysql移除系统服务:cmd > C:\java\mysql-5.5.27-win32\bin>mysqld --remove
启动与停止(绿化版)
启动与停止(绿化版)
* 使用 windows 命令启动: cmd > net start mysql
* 注意: win7 ,启动不能成功,需要以 “ 管理员身份 ” 运行 cmd
* 使用 windows 命令停止: cmd > net stop mysql
* 绿化版root账号没有密码
* cmd > mysql -uroot -p 回车两次
常用的显示命令
* 显示当前数据库服务器中的数据库列表, mysql> show databases;
* 注意: %mysql%/data/mysql 数据库, mysql 的核心数据库,数据库的个数,表的个数,用户等
* 使用数据库: mysql> use 库名 ;
* 显示数据库中的数据表: mysql>show tables;
* 显示当前所使用的数据库名称: mysql> select database(); ,结果为 null 说明没有选择数据库
* 显示当前数据库的状态 : mysql> status;
* 显示当前数据库中某表的表结构 ( DESCRIBE ): mysql> desc user;
* 显示所支持的字符集: show character set;
* 显示系统变量:mysql> show variables;
* 显示执行内容系统变量,显示与字符集有关的系统变量:mysql> show variables like '%char%';
mysql账号管理
mysql账号管理
* 查询账号: mysql > select * from user; 或 mysql > select host,user,password from user;
* 创建账号: mysql > create user 账号 [ identified by ' 密码 ']
* 账号:
* 格式: 'user'@'host'
* 默认账号, ' 账号 ' ,表示创建一个账号, host 字段为 % , % 表示允许所有人访问
* 例如: 'itcast'@'192.168.1.100', 只允许指定 IP 的主机进行访问
* 修改密码: set password for 账号 = password(' 密码 ');
* 删除账号: drop user 账号 ;
* 授权: grant 权限 on 数据库 . 表 to 账号 [with grant option]
* 权限: all 表示所有权限
* 数据库.表 : *.* 所有数据库的所有表
* with grant option,当前账号是否具有将自己的权限授予其他人
root账号密码丢失
* 使用跳过权限验证启动mysql服务:cmd > mysqld --console --skip-grant-tables
* 修改密码,只能使用update语句
mysql> update user set password = password('123456') where host='localhost' and user='root';
mysql异常
mysql异常
* 密码不正确
* ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
* 没有使用数据库
* ERROR 1046 (3D000): No database selected
* 没有权限
* ERROR 1044 (42000): Access denied for user 'itcast'@'%' to database 'mysql'
* 如果 mysql 启动中,将移除服务时
* Failed to remove the service because the service is running
* Stop the service and try again
* 使用 net 命令启动错误
* C:\Documents and Settings\Administrator>net start mysql
* 发生系统错误 3 。
* 系统找不到指定的路径。
* mysql 服务器没有启动
* ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
* 表必须具有一个字段
* ERROR 1113 (42000): A table must have at least 1 column
中文乱码
中文乱码
* 在 my.ini 文件没有设置默认编码
* 在创建数据库时,指定数据的编码
* 表的创建,默认使用数据库的编码
* character_set_database | utf8
* 在 my.ini 文件设置默认编码
* 查询当前数据库设置的编码: mysql > show variables like '%char%';
* 结果:
character_set_client | gbk -- 客户端
character_set_connection | gbk -- 链接
character_set_results | gbk -- 返回结果
* 如果 3 项为 UTF-8 ,使用 cmd( 默认编码 GBK) 进行操作,将出现乱码
* 解决办法
* 设置编码:set names gbk;
添加主键:
添加主键:
1. 创建表,定义字段时,给字段添加约束mySQL 语法介绍
create table a(
id varchar(32) primary key,
);
2. 创建表,定义字段之后,在约束区域添加
create table b(
id varchar(32),
constraint primary key(id)
);
3. 创建表之后,修改表结构,设置主键
create table c(
id varchar(32),
);
alter table primarykey_3 add constraint primary key(id);
* 结构:创建 create ,修改 alter ,删除 drop
* 数据:录入insert,更新update,删除delete
* 查询数据:select
DDL: 数据定义语言
DDL: 数据定义语言
* 数据库 databaseDML:数据操纵语言
* 创建数据库: mysql > create database 数据库名称 ;
* mysql > create database 名称 character set 字符集 ; -- 注意: UTF-8 书写为 UTF8
* 删除数据库: mysql > drop database 数据库名称
* 表 table
* 创建表: mysql > create table 表名 ( 字段的描述 );
* 显示当前表的 sql 语句: mysql > show create table 表名 ;
* 修改表名: mysql > alter table 表名 rename 新名称 ;
* 删除表: mysql > drop table 表名 ;
* 字段 column
* 添加字段: mysql > alter table 表名 add column 字段描述
* 修改字段:
* 修改字段名称: mysql> alter table 表名 change 旧字段名 新字段名 + 类型 ;
* 修改字段类型:mysql> alter table 表名 modify column 字段名称 类型;
* 删除字段:mysql > alter table 表名 drop column 字段名称
* 插入数据: mysql > insert into 表名 [( 字段名称 ,...)] values( 字段值 ,...)* 修改数据:mysql > update 表名 set 字段名称 = 字段值 , 字段名称 = 字段值 ... [ where 字段名称=字段值]
* 删除数据:mysql > delete from 表名 [ where 条件]
DQL: 数据查询语言
DQL: 数据查询语言
* 查询所有
sql > select * from users;
mysql > select id,firstname,secondname,age,count from users;
* 查询部分信息
mysql > select id,age from users;
* 查询用户编号、姓名,及格 (60)
mysql > select id,firstname,secondname,count from users;
mysql > select id,concat(firstname,secondname),count from users;
mysql > select id,concat(firstname,secondname),count - 60 from users;
* 修改上面查询显示字段名称,用 " 姓名 " 表示姓名,用 " 及格 " 表示及格
* 别名格式:字段 [AS] 别名
mysql > select id,concat(firstname,secondname) as 姓名 ,count - 60 及格 from users;
* 注意:别名名称中不能包含空格,如果必须使用空格,需要将别名使用引号括住
mysql > select id,concat(firstname,secondname) as '姓 名',count - 60 '及 格' from users;
数据库的备份
数据库的备份
cmd > mysqldump -uroot -p1234 ebookstore > d:/1.sql
格式: mysqldump -u 账号 -p 密码 数据库名称 > 位置
数据库的还原
* 注意:必须手动创建数据库
cmd > mysql -uroot -p1234 back < d:/1.sql
格式:mysql -u账号 -p密码 数据库名称 < 位置