文章目录
mysql(一)
1.登录mysql
1.mysql -uroot -p加密码。
2.mysql -A python1 -uroot -p加密码(直接进入指定数据库无需使用use功能)
2.库级操作
一般操作比较简单,先用mysql -uroot -p加密码进入mysql,之后通过show databases;查看所有的数据库,如果没有就创建一个新的数据库,通过create database 加名字,如果有就用use database 加名字直接进入使用,删除数据库用drop database加名字就好
3.表级操作
表级操作和库级操作是几乎一模一样的,这里就是演示下不多说
注意,create table 加名字时后面要注意加上数据和格式!!!!!
多了一个show create table 加名字,这个是查询创建信息
4.表内操作
1.增
1.insert into 加名字 values(),(),();
2.insert into 加名字 values();
3.insert into 加名字(指定字段)values(指定字段的值)
4.insert into 加名字(指定字段)values(指定字段的值),(指定字段的值);
2.删
1.delete from 加名字
2.delete from 加名字 where
注意,一定要用where
3.改
1.update 加名字 set 改的内容(整个全改)
2.update 加名字 set 改的内容 加where
4.查(最重要的)
1.select * from 加表名
2.select 部分部件 from 加表名
3.select 部分部件 from 加表名 where 加条件
5.数值类型
mysql(二)
1.比较运算符
2.逻辑运算符
优先级(not > and >or),应用于where后面。
3.其他操作(排序等)
这个limit是限制条数,当然如果你想从选取几个,就可以像第二个一样,前面的数字是其实个数,后面的是几个
这个去重是去掉完全相同的数据
也可以只是选取其中的一部分
4.分组聚合
4.1常用的函数
这个比较重要一些
4.2分组
这个是专门和group_concat一起用的,但是注意group by 后面的东西前面必须有,因为是以前面的为分组的基础的,所以前面必须要有。
4.3聚合
执行顺序是先where,然后执行很多的聚合函数,最后进行having
,这个是最全组合,成功的把分组和聚合放在了一起,注意,id等属性必须是一个,而且和group by 后面的对应,但是呢,id后面的聚合函数不是唯一的,可以多个聚合函数放在一起,而且这个having后面的条件必须在group by 之后指定的,就是必须是id,因为优先级的原因,但是如果没有 group by就和where和效果一模一样。
mysql (三)
1.表结构修改
这是关于表结构的各种操作。
2.约束条件
2.1 默认约束
这里的插入,只是设置了name,但是id没有设置,也还是有值,所以它是直接使用的默认的值。这就是默认约束。
2.2 非空约束
这个非空,就是说必须不能为空。
将前两个加在一起如果不输入,就直接把默认的约束放在里面了。
2.3 唯一约束
只能有唯一的id值,否则报错。
但是唯一可以都为空。
2.4主键约束
主键等于非空加唯一。
这里添加一下,如果想删除主键的话,就用alter table tb drop primary key,但是如果被其他表连接上的话,就不能直接删除,可以先删子表的连接,就是foreign那个,当然如果还有自增长的话,先把自增长删除就行了。
可以说,你只需要限制key就自动的变成非空了。
2.5 自增长
这里的自增长一般都是和主键一起用的,因为非空,但是你如果还懒得打,或者你不知道前一个到哪了,你就可以通过哟个default来代替之前的位置。
2.6 外键约束
其实就是简单的讲,就是一个是主表,一个是子表,对于关联的属性,其中的内容,如果主表没有,子表肯定没有,而且删除的话会先删除子表以防误删。
这个是创建关系。
这里可以看出b只能添加a已经有的数据,对于其他额外的id,b是不能添加的。
3.表关系
3.1一对一的关系
这个就不用代码演示了,就是上面的简单的外键约束。
这个就是一个例子。
3.2 一对多
一对多就是多个一对一,也很简单。
3.3 多对多
这个就有些难度了,接下来代码演示一下。
就是这个关系。