MYSQL
1. 进入mysql数据库
Windows: mysql -hlocalhost -uroot -pPassword
Linux: mysql -u root -p
-h:localhost表示MySQL服务器所在主机地址;
-u:root是mysql用户名;
-p:Password是密码(用户没有设置密码,显示Enter password时,直接回车即可。);
注意:如果你的mysql没有安装在C盘下,你需要先使用 DOS命令进入mysql的安装目录下的bin目录中。
以我的电脑为例,方法如下:输入 D: 进入D盘,在输入 cd D:\Tools\MySQL5.5.25\bin 进入到mysql的bin目录下才可以输入 mysql -hlocalhost -uroot -p
2. 编写 sql 脚本文件
创建表文件:z_createtables.sql
【此表采用 联合主键】
create table schedule_info
(tea_id varchar(8),
class_id varchar(8),
course_id varchar(8),
date varchar(10),
primary key (tea_id, class_id, course_id),
foreign key (tea_id) references teacher_info(id),
foreign key (class_id) references class_info(id),
foreign key (course_id) references course_info(id)
);
create table teacher_info
(id varchar(8),
name varchar(40),
dept varchar(40),
post varchar(40),
primary key (id),
foreign key (id) references user_info(id)
);
create table class_info
(id varchar(8),
name varchar(40),
room varchar(20),
count varchar(4),
primary key (id)
);
create table course_info
(id varchar(8),
name varchar(40),
type varchar(20),
lesson varchar(4),
primary key (id)
);
插入数据文件 :z_insertdatas.sql
insert into teacher_info values ('TN-101', '薛老师', '教学部', '班主任');
insert into class_info values ('UG-1804', 'BC-36', '实训室一', '50');
insert into course_info values ('BC-101', 'C从入门到精通', '基础课', '90');
3. 导入sql文件
进入MYSQL,输入:
>use test; (先选择要用的数据库,若系统中没有,则自动创建)
> source c:/z_createtables.sql;
> source c:/z_insertdatas.sql; (先导入创建表文件 ,再导入插入文件)
导入之后,可以用 show tables; 查看导入的数据库表。
4. 常用命令
创建数据库: GREATE DATABASE 数据库名;
导入sql文件: source 文件绝对路径;
切换数据库: use 数据库名;
显示所有数据库: show databases;
显示库中的表: show tables;
显示数据表的结构: describe 表名; 或 desc 表名;
查找信息: select * from 表名 where 条件;
插入信息: insert into 表名(列名1, 列名2) values(value1,value2);
修改表中的数据: update 表名 set 列名1=value1 where 条件;
删除表中数据: delete from 表名 where 条件;
简单点的条件:列名1=value1 and 列名2=value2
update例子:
1、将 id 为 5 的手机号改为默认的 - : update students set tel=default where id=5;
2、将所有人的年龄增加 1: update students set age=age+1;
3、将手机号为 139 的姓名改为 “小明”, 年龄改为 19: update students setname=“小明”, age=19 where tel=“139”;
5. 概念
-
主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY KEY约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。【百度百科】
-
联合主键的意义:联合主键就是多个表中的主键联合成一个主键。
create table schedule_info
(tea_id varchar(8),
class_id varchar(8),
course_id varchar(8),
date varchar(10),
primary key (tea_id, class_id, course_id),
foreign key (tea_id) references teacher_info(id),
foreign key (class_id) references class_info(id),
foreign key (course_id) references course_info(id)
);
这里 tea_id、class_id、course_id 三者构成联合主键,因为三者都是各自表的主键。根据此表可唯一确定另三个表的一条数据。 -
复合主键:复合主键就是一个表中主键由2个及两个以上的字段组成,如ID+name。
create table class_info
(id varchar(8),
name varchar(40),
room varchar(20),
count varchar(4),
primary key (id,name)
);
名字会有重复,所有加学号来区分。 -
联合主键和复合主键区别:联合主键体现在多个表的主键上,复合主键体现在一个表中的多个字段。
-
文件后缀含义
.MYD:表数据文件 (my data) .MYI:索引文件 (my index) .frm:结构文件
安装问题
windows
电脑同时安装两个mysql ,默认公用一个工作目录
linux
查看mysql是否已经启动
/etc/rc.d/init.d/mysqld status
或者ps -aux|grep mysql
启动mysql
- service mysql start
- sudo service mysql restart
- sudo systemctl start mysql.service 使用系统控制启动
查看mysql log日志
- tail -f mysql/error.log
查看配置文件
- sudo vim /etc/mysql/my.cnf