MySQL 数据库
相关指令:
1. mysqld –install 创建服务
2. mysqld -remove 删除服务
3. net start mysql 启动服务
4. net stop mysql 停止服务
5. mysql -u root -p //-u 表示用户名 -p 密码
//SQL指令必须以 ; 结束
6. show databases; //查询数据库系统中所有的数据库
7. use myschool; //转跳到某数据为,表示后面的SQL指令再操作某个数据库。
8. show tables; //查看数据库中所有表
9. select * from student; //查询学生表的所有数据
客户端安装:
1. 免安装版解压。
2. 运行SQLyogEnt.exe文件,注意:需要注册码,
3. 运行keygen.exe文件获取注册码,把注册码复制进来。
4. 第一次运行SQLyogEnt.exe文件需要建立新连接。
数据库创建:
1. 新建数据库,设置数据库名及字符集编码:utf-8;
2. 新建数据表。
3. 创建列(列名、数据类型、长度、主键、非空、默认值、自动增长)
4. 创建主键的原则:最少性、稳定性。 特点:唯一性。
年级表: -2147483648 ~ 2147483647 int 4字节32位 long 8字节64位
编号 主键,自增 | 年级名称 |
1 | 一年级 |
2 | 二年级 |
3 | 三年级 |
4 | 四年级 |
学生表:
学号 | 姓名 | 性别 | 手机 | 出生日期 | 地址 | 邮箱 | 年级编号 |
10001 | 张明 | 男 | 13334596079 | 1990-2-1 | 北京 | zhang@126.com | 1 |
10002 | 李明 | 男 | 13634596021 | 1990-3-11 | 广州番禺 | li@126.com | 1 |
10003 | 王明 | 女 | 13664590939 | 1990-4-9 | 广州天河 | wang@126.com | 2 |
10004 | 刘明 | 男 | 13639596324 | 1990-5-23 | 广州黄埔 | lui@126.com | 3 |
科目表:
成绩表:
两个表的主外键关系的添加方式:
1. 必须先找到子表。然后在子表中来添加。
2. 在子表中右键:关联/外键 注意:创建关系时删除不操作,只操作更新。
3. 建立关系的两个列要求:数据类型要相同,如果是字符型,则长度也要一致。
4. 先有主表的数据,才可能有子表的数据。
5. 删除时,先删除子表的数据,才能删主表的数据。
6. 必须先删除子表,才能删除主表。
添加数据:
1. 除了自动增长列、允许为空、有默认值的列不需要插入数据,其它列必须要有数据。
2. 表后面的列名一般情况下不省略,除非所有列都有值。
3. 除了数值型数据,其它的类型值必须用单引号引起来。
/*向学生表添加数据
insert into student(列名) values(值列表)*/
insert into student values(10003,'王小华','女','13290468456','1990-2-3','深圳市南山区','wangxiaohua@126.com',2);
/*邮箱没有值,所有必须在表后面加列列表*/
insert into student(studentNo,name,sex,phone,birthday,address,gid)
values(10004,'张丽','女','13290852356','1990-12-13','深圳市罗湖区',1);
/*标识列为空也是允许的*/
insert into student(studentNo,name,sex,phone,birthday,address,gid)
values(null,'赵小远','男','13290625609','1990-3-25','中山市51区',2);
/*地址采用默认值*/
insert into student(studentNo,name,sex,phone,birthday,gid)
values(null,'赵小远','男','13292585609','1990-3-25',3);
一次性插入多条数据:MySQL 特有的
Insert into 表名(列名) values
(值列表),
(值列表),
(值列表),
..........
/*如何一次性插入多条数据*/
修改:
删除:
项目流程:
1. 需求:占40%项目时间左右
2. 设计:占10-2%时间左右
3. 编码:占30-40%时间左右
4. 测试:占10%左右