如何绘制表并写er图
1. 了解需求
2. 2.找实体
3. 3.ER图关系变表,
1对1: 合并表
1对m: 把少的表的主键当做另一个表的外键
m对m: 1.增加关系表 2.两个主键放在新表中当复合主键 3.增加字段
4. 检测合理性:3NF 3范式
初始化命令记住密码: mysqld --initialize --console
启动服务: net start mysql
停止服务: net stop mysql
登录: mysql -u root -p
mysql基本语法
/*连接mysql*/
mysql -h 地址 -P 端口 -u 用户名 -p 密码
例如: mysql -h 127.0.0.1 -P 3306 -u root -p
#数据库操作/*关键字:create 创建数据库(增)*/create database 数据库名 [数据库选项];
例如: create database test default charset utf8 collate utf8_bin; /*数据库选项:字符集和校对规则*/
字符集:一般默认utf8;
校对规则常见: ⑴ci结尾的:不分区大小写 ⑵cs结尾的:区分大小写 ⑶bin结尾的:二进制编码进行比较
/*关键字:show 查看当前有哪些数据库(查)*/
show databases;
/*查看数据库的创建语句*/
show create database 数据库名;
/*关键字:alter 修改数据库的选项信息(改)*/alter database 数据库名 [新的数据库选项];
例如: alter database test default charset gbk;
/*关键字:drop 删除数据库(删)*/drop database 数据库名;
/*关键字:use 进入指定的数据库*/use 数据库名;
#表的操作/*关键字:create 创建数据表(增)*/
create table 表名(
字段1 字段1类型 [字段选项],
字段2 字段2类型 [字段选项],
字段n 字段n类型 [字段选项]
)表选项信息;
/*关键字:show 查询当前数据库下有哪些数据表(查)*/
show tables;
/*关键字:like 模糊查询*/
通配符:_可以代表任意的单个字符,%可以代表任意的字符
show tables like '模糊查询表名%';
/*查看表的创建语句*/
show create table 表名;
/*查看表的结构*/desc 表名;
/*关键字:drop 删除数据表(删)*/drop table [if exists] 表名
例如: drop table if exists test;
/*关键字:alter 修改表名(改)*/alter table 旧表名 rename to 新表名;
/*关键字:drop 删除一列*/alter table 表名 drop 字段名;
/*关键字:modify 修改字段类型*/alter table 表名 modify 字段名 新的字段类型 [新的字段选项];
/*关键字:first 修改字段排序,把某个字段放在最前面*/alter table 表名 modify 字段名 字段类型 [字段选项] first;
/*关键字:after 修改字段排序,字段名1放在字段名2的后面*/alter table 表名 modify 字段名1 字段类型 [字段选项] after 字段名2;
/*关键字:change 重命名字段*/alter table 表名 change 原字段名 新字段名 新的字段类型 [新的字段选项];
#数据操作/*关键字:insert 插入数据(增)*/insert into 表名(字段列表) values(值列表);
--插入数据insert into user(id,name,age) values(1,'admin_a',50);insert into user(name) values('admin_b');
--插入数据insert into user(id,name,age) values(1,'admin_a',50);insert into user(name) values('admin_b');
/*关键字:select 查询数据(查)*/select *[字段列表] from 表名[查询条件];
/*关键字:delete 删除数据(删)*/delete from 表名[删除条件];
/*关键字:update 修改数据(改)*/update 表名 set 字段1=新值1,字段n=新值n [修改条件];