mysql 是一个关系型数据库,而MongoDB是应该非关系型数据库
关系(1:1,1:N,N:N)
Oracle ,SQL server(SBase),mysql
市场占有率 小的数据库
DB2(政府单位使用) nosql
特别注意:所有命令不区分大小写,分号不要省略
退出\q
exit()
查看ip
ipconfig
ping 192.168.46.44
安装参考文档:
mysql安装教程:
navicat安装教程:
#修改密码
//管理员窗口 启动mysql
net start mysql
//命令行窗口
退出mysql
mysql -u root -p
set password = password('root');
\q
mysql -u root -p
//密码:root 或者 123456
set password for 'root'@ 'localhost' = password('root');
关闭mysqld服务
mysqld.exe文件双击,启动
或者在服务里面找到mysql启动
打开黑窗口:mysql -u root -p
每次进入命令行必须
mysql -u root -p
密码:root 或 空
navicat
varchar=10(20个英文,10个汉字)
char=10(10个英文,5个汉字) 常用的数据类型
int , bigint , tinyint ,smallint,主键每个表唯一 类型 bit位(只能0,1)=相当于char字符
char 可以保留任何字符
varchar 字符串(保留东西少,特殊字符带n)
相当于在input里面输入
real 字符串
相当于在testview里面输入
float/double/decimal 带小数点
numeric(int)
timestamp时间差
blob 、binary 数据流文件 不容易丢地址
text
enum枚举(性别、权限)外键关系
在设计表里边的
外键设置为 setnull 就可以删除外键关联的id
外键设置为 restrict 和 no action 都不能删除外键
DELETE from classes WHERE id=2;
----------------------------------
CASCADE:父表delete、update的时候,子表会delete、update掉关联记录;
SET NULL:父表delete、update的时候,子表会将关联记录的外键字段所在列设为null,所以注意在设计子表时外键不能设为not
null;
RESTRICT:如果想要删除父表的记录时,而在子表中有关联该父表的记录,则不允许删除父表中的记录;
NO ACTION:同 RESTRICT,也是首先先检查外键;
-------------------------------- 查询
在stus表里面查询id ,name ,clsid
SELECT
stus.id,
stus.name
,
stus.clsid
FROM
stus
LEFT JOIN classes ON stus.clsid = classes.id
WHERE
classes.id = 1视图 create view 计划 到达某个点执行一批任务
==================================== 聚合命令(去重[distinct]),取总数[count],平均数[avg],取和[sum]等) 分页查询(limit) distinct
去重 ORDER BY 语句用于根据指定的列对结果集进行排序。 LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 SQL
通配符必须与 LIKE 运算符一起使用。通配符(%或者_)
%a:选取a结尾的 IN 操作符允许我们在 WHERE 子句中规定多个值。
id in (1,2,3); join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JO