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密码 数据库名称 < 位置