文章目录
1. Windows安装
下载官网:http://dev.mysql.com/downloads/mysql/5.6.html#downloads
选择对应版本的zip包(这里建议选择旧版本):mysql-5.6.47-winx64.zip
-
解压到本地目录,如:D:\mysql\mysql-5.6.47-winx64
-
安装后配置环境变量 (path中加入mysql目录\bin)
-
修改配置文件,设定字符集UTF8
在安装目录下,拷贝配置文件模板my-default.ini生成my.ini,在my.ini中增加以下内容:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
注意:如果之前安装过mysql,则需要在后台退出mysql(快捷键Ctrl+Alt+Delete进入任务管理器中退出) -
启动Mysql
进入cmd(注意这里要以管理员的身份运行),然后进入mysql安装目录bin,如:D:\mysql\mysql-5.6.47-winx64\bin;
mysqld --console开启mysql服务;
如果还是启动不了,可以用管理员的方式打开mysql安装目录bin,输入以下代码
mysqld.exe -install
windows系统下关闭数据库:
mysqladmin -uroot shutdown
关闭后重新打开可以net start mysql启用服务器
- 连接Mysql数据库
在命令行输入 mysql -u root -p
输入密码,可以选择输入你的密码,我这里就不设密码啦,直接回车,就进入了mysql的命令行环境了。
注意:我在安装MySQL过程中用net start mysql 启动失败,报“错误2,系统找不到文件”,原因是服务的路径与安装的路径不一致,之前安装过mysql后卸载重装容易出现这样的问题,解决办法是:
修改windows注册表,windows+r 在运行对话框输入regedit,点击确定,进入注册表编辑器。选择HKEY_LOCAL_MACHINE ->SYSTEM -> CurrentControlSet -> services ->MySQL,修改ImagePath的路径为Mysql安装路径,例如:D:\mysql\mysql-5.6.47-winx64\bin\mysqld MySQL
2.查看用户名和密码,可输入“select * from mysql.user;”
3.Mysql的常用命令
(1)显示默认数据库:use dbname;
(2)显示所有数据库:show databases;
(3)显示默认数据库中的所有表:show tables;
(4)显示命令清单:\h
4.更新密码
使用:
update mysql.user set password=password(“新密码”)where user=‘root’;
5.创建、删除(库、表)的操作
(1)创建库:create database 数据库名
例如:create database student;
(2)创建表:
create table 表名(
» 列名1 列类型 [<列的完整性约束>],
» 列名2 列类型 [<列的完整性约束>],
» … … );
create table school(
school_id int(10) not null auto_increment primary key,
school_name varchar(20));
(3)删除数据库:drop database [if exists] db_name
例如:drop database student;
(4)删除表:drop table [if exists] tab_name
例如:drop table school;
(5)use student;是使用student库
6.mysql的数据类型有三种
(1)数值型
(2)字符串类型
(3)日期和时间类型
(4)总结常用的数据类型
7.常见的完整性约束
(1)not null:Ensures that a column cannot have a NULL value
(2)unique:Ensures that all values in a column are different
(3)primary key :A combination of a NOT NULL and UNIQUE. Uniquely identifies each row in a table
(4)foreign key:Uniquely identifies a row/record in another table
(5)check:Ensures that all values in a column satisfies a specific condition
(6)default:Sets a default value for a column when no value is specified
(7)index:Used to create and retrieve data from the database very quickly
例1:建立一个学生信息表(student)
(1)定义列sno学号,类型为5位定长字符串,非空,主键
(2)定义列sname姓名,类型为8位定长字符串,非空
(3)定义列sgender性别,取值1或0
(4)定义列sage年龄,类型为整型
(5)定义列sdept系名,数据类型为20位变长字符串
create table student(
sno char(5) not null primary key,
sname char(8) not null,
sgender int check(sgender=0 or sgender=1),
sage int,
sdept varchar(20));
例2:建立一个课程信息表(course)
(1)定义列courseid课程号,类型为整型,非空,自动增长,主键
(2)定义列cname课程名,类型为16位变长字符串,非空
create table course(
courseid int not null auto_increment primary key,
cname varchar(16) not null);
例3:建立一个学生考试成绩信息表(score)(1)定义列grade成绩,类型为整型
create table score(
grade int);
8. 更改表格操作
语法:alter table 表名 action;
先创建一个后续会用的表people:
create table people(
address varchar(100),
name char(8));
action:
(1)为表添加一列,如果没指定first或者after,则在列尾添加一列,否则 在指定列添加新列
add 列名 列类型 [first] | [after 列名]
例如:在people 表中增加sgender列
alter table people add sgender int check(sgender=0 or sgender=1);
(2)为表添加一个主键
add primary key (列名)
(3)为表添加一个外键
add foreign key (列名)references 表名(列名)
(4)更改指定列的默认值
`alter table 表名 alter 列名 [set default 默认值] | drop default]`
例如:在people表中将name 列设置默认值为100
alter table people alter name set default 100;
alter table people alter name drop default;
(5)改变列类型
modify 列名 类型
例如:将people表中的name类型改为varchar(16)
alter table people modify name varchar(16);
(6)改变列名
change 旧列名 新列名[类型]