mysql创建数据库
本文是关于实现网页版学生选课系统遇到的各类问题的汇总和记录的笔记第一篇:主要内容包括如何创建数据库和表,以及对遇到的几点问题进行总结。(前提是mysql已经安装配置完成)
一、基本使用操作
1.使用命令行建立数据库:
net start mysql(以管理员身份运行命令提示符)启动数据库
mysql -u root -p后输入数据库密码
2.显示已有的数据库:show databases;
3.创建名称为test的数据库:create database test;
4.对test数据库进行操作:use test;
5.在test数据库中建立名称为user的表,里面包含用户id,姓名,性别等信息:
create table user(
id int(11),
name varchar(50),
sex varchar(10)
)CHARSET=utf8;
6.在user表中插入数据:
insert into user values('1', 'teacher', '男');
insert into user values('2', 'teacher', '女');
7.显示所建的表中所有数据:select*from user;
8.删除user表中的一行数据:delete from user where id=1;
9.显示user表的属性:desc user;
10.显示test数据库中所有的表:show tables;
11.删除数据库中的一个表:drop table user;
12:删除整个数据库:drop database test;
二、遇到的几点错误
1.建表的时候后面如果没有加CHARSET=utf8;就会报错,跟数据库编码格式有关。
ERROR 1366 (HY000): Incorrect string value
如下所示:
2.外键的使用:在学生选课系统中几个表都是相关联的,这一点在其他系统中也十分普遍,之所以使用它的原因是:当我修改了一个表中一个内容,其他表中跟它内容关联的也会随之改变,保证了数据的统一。
使用外键需要注意的几点:
(1)在建表时必须先建立将要作为外键表的表,也就是父表。父表发生改变,本表就发生了改变。
(2)建立外键的前提,本表的列必须与外键类型相同(foreign key(本表的列名)reference<外键表名>(外键列名)).
(3)外键所引用的字段在表中是主键才可以。
下面是我在建立数据库时出现的错误:
ERROR 1215 (HY000): Cannot add foreign keyconstraint
如下所示:
错误原因:在建立两个父表的时候并没有为两个主键user_id和classroom_id添加主键约束
解决方法:
①将父表删除重新建立(复制粘贴也挺简单的);
②使用alter table+表名+addconstraint +表名_列名+primary key+(要设置为主键的列名);
(4)需要注意使用外键了的两个表对应位置内容要一致,不然表建立成功后无法插入数据。