这两个表格有个映射关系,就是根据Grade_ID可以在班级表中查找到对应的所有班级:
也就是Grade表的每一行对应Class表的多行,在关系数据库中,这种基于表(Table)的一对多的关系就是关系数据库的基础。
根据某个年级的ID就可以查找所有班级的行,这种查询语句在关系数据库中称为SQL语句,可以写成:
SELECT * FROM classes WHERE grade_id = '1';
结果也是一个表:
---------+----------+----------
grade_id | class_id | name
---------+----------+----------
1 | 11 | 一年级一班
---------+----------+----------
1 | 12 | 一年级二班
---------+----------+----------
1 | 13 | 一年级三班
---------+----------+----------
类似的,Class表的一行记录又可以关联到Student表的多行记录:
经过大佬分析,大多都用mysql
安装MySQL
为了能继续后面的学习,你需要从MySQL官方网站下载并安装MySQL Community Server 5.6,这个版本是免费的,其他高级版本是要收钱的(请放心,收钱的功能我们用不上)。MySQL是跨平台的,选择对应的平台下载安装文件,安装即可。
安装时,MySQL会提示输入root用户的口令,请务必记清楚。如果怕记不住,就把口令设置为password。
在Windows上,安装时请选择UTF-8编码,以便正确地处理中文。
在Mac或Linux上,需要编辑MySQL的配置文件,把数据库默认的编码全部改为UTF-8。MySQL的配置文件默认存放在/etc/my.cnf或者/etc/mysql/my.cnf:
[client]default-character-set =utf8
[mysqld]default-storage-engine =INNODB
character-set-server =utf8
collation-server = utf8_general_ci
重启MySQL后,可以通过MySQL的客户端命令行检查编码:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor...
...
mysql> show variables like '%char%';+--------------------------+--------------------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql-5.1.65-osx10.6-x86_64/share/charsets/ |
+--------------------------+--------------------------------------------------------+
8 rows in set (0.00 sec)
看到utf8字样就表示编码设置正确。
注:如果MySQL的版本≥5.5.3,可以把编码设置为utf8mb4,utf8mb4和utf8完全兼容,但它支持最新的Unicode标准,可以显示emoji字符。
如何彻底删除MySQL
我现在面临着一个问题,我之前不知道如何安装的数据库mysql,但是忘记密码了,也不会找密码,为了完全学习mysql,打算把之前的mysql删除,但是直接删除文件是不行的,于是我上网找了教程,下面边试边记录
1:打开控制面板--》程序和功能--》找到MySQL server5.5 右键点击卸载(5.5是我安装时的版本) 然后会跳出一个选择框,我选择了上面那个,好像是关闭什么
2:win+r 打开终端 --》输入regedit ---》找到 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\MySQL (如果没有,可以不用删除)
3:打开 C:\Program Files\MySQL 点击删除(删除不了可以用360粉碎)
如何在win7下,以管理员方式打开命令提示符:
在开始里 搜索 命令提示符 右键图标 选择以管理员方式运行
安装完成后,按照廖老师的方法,在命令行输入mysql -u root -p命令后,输入密码,
提示错误:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
百度了一下这个错误:
1、在开始菜单中找到计算机管理,在计算机管理中找到【服务】,在服务检查是否存在Mysql服务(我的是存在,并且已启动)(终端输入services.msc直接打开服务列表)
2、后来发现,我在启动mysql时 报了1053的错误(错误1053:服务没有及时响应启动或控制请求)
又查了一下:说法如下:
这种问题通常是由于不正确的超时设置导致的,请看如下解决方案,
单击开始,单击运行,键入regedit,然后单击“确定”。(然并卵)
找到并单击以下注册表子项:HKEY_LOCAL_MACHINE——SYSTEM——CurrentControlSet——Control
在右窗格中,找到ServicesPipeTimeout entry.Note.如果ServicesPipeTimeout条目不存在,必须创建它。要做到这一点,请按照下列步骤操作:
1)在编辑菜单上,指向”新建”,然后单击DWORD值。
2)键入ServicesPipeTimeout,然后按ENTER键。
3)右键单击ServicesPipeTimeout,然后单击“修改”。
4)单击十进制,键入60000,然后单击“确定”。在服务超时前,该值以毫秒为单位显示时间。
5)重新启动计算机。(之后去启动mysql 依然报1053错误)