Mysql基础知识

一、Mysql库级操作进入mysql:mysql -uroot -pqwe123 u后面输入账号,p后面输入密码退出mysqlexit /quit显示数据库show databases;创建数据库create database +数据库名删除数据库drop database +数据库名使用某个数据库use +数据库名查询所有数据库select databases;二、Mysql表级操作显示所有的表:show tables;创建表:create table 表名 (字段名1 字段类型1,字段名2 字段类型2)显示创建表的信息:show create table tb_name;删除表:drop table tb_name;显示表中的列的信息:show columns from 表名; 显示字段类型,约束条件的设置情况。可以用于检查表格的字段设置是否完整和正确。show columns from 表名 ; 效果等同于 describe 表名;三、MYsql操作注意事项大小写:不严格区分,但默认大写为程序代码,小写是程序员写的代码结束语:每个程序语句都以 分号或/g结束强制数据类型:任何数据都要定义类型(数值、字符串、日期和时间等类型)逗号:创建表的时候,最后一行不需要逗号四、Mysql数据操作数据库常用操作insert into 插入语句select 查询语句,只能查询,不能修改原数据。update 更新语句。delete 删除语句五、mysql中的数据类型主要分为:数值、字符、时间日期数值包括:TINYINT\SMALLINT\MEDIUMINT\BIGINT\FLOAT\DOUBLE字符包括:char\ varchar\tinytext\text\longtext\enum一般常用char 和varchar,因为数据库中数据不宜过长。日期时间包括:date\time\datetime\timestamp\year六、重点查询语句:数据的筛选条件比较运算符大小比较空和非空:is null \is not null逻辑运算符非与或:not > and >or常用查询操作:排序:order by把数据根据某一列进行升序/降序排列:select columns from 表名 order by 列名 asc/desclimit 限制截取所有数据的前5行:select * from 表名 limit 5;截取所有数据的2-5行:(注意下标是从0开始,并且左右都能取到select * from 表名 limit 1,4;去除表中的重复值:distinctselect dietinct from 表名 ;模糊查询范围查询between and ;in用法:七、 聚合函数的使用求和表中某列的数值select sum(列名) from 表名其他,用法都一致:max 查看该列最大值min 查看该列最小值std 查看该列标准差group_concat 查看该列全部值count 计算该列有多少条非空数据分组查询select 分组字段 , 聚合字段 from 表名 group by 分组字段;把性别进行分组,可以查看该字段可以分成几类 查看不同性别的人数:查看不同性别人的姓名查看不同得分的人的姓名:聚合筛选聚合筛选是分组查询后通过having 来实现的,执行的先后顺序如下:where 条件先执行随后执行聚合函数和别名最后执行having如下,可以看到数据先是通过where条件语句把score分为2类,然后把78、98两类的姓名打出来,最后筛选出90分以下的。子查询什么是子查询将一个查询语句的结果用于另一个查询。比如我先利用一个求平均值的查询语句求出了平均值,然后把平均值用于查出大于平均值的数据。如下:子查询的注意要点:子查询是嵌套在查询内部的,需要用小括号括起来。连接查询连接查询分为内连接和外连接内连接,分为无条件内连接和有条件外连接无条件内连接,可以发现教师的数据是循环填充的。如果不规定条件,数据量较少的表就自动循环填充数据。有条件内连接,规定条件后,只会把满足条件的数据进行连接外连接分为左外连接和右外连接八、alter table 表名 操作语句表结构的修改修改表名:alter table +表名+rename to 新表名修改字段名:alter table +表名 change 原字段名 新字段名 字段类型(此种也可以修改字段类型)修改字段类型:alter table +表名+字段名 字段类型添加字段:altert able 表名 add 字段名 字段类型删除字段:alter table 表名 drop 字段名九、约束条件在构建表的时候,可以根据实际需求给字段添加约束条件,以确保数据的完整和唯一性。约束条件主要有6种:默认约束,添加默认约束的字段在没有输入值得时候会填入默认值。设置方式:CREATE TABLE 表名 (id int default ‘a’ );非空约束,设置非空约束的字段必须赋值。在insert 数据时如果不赋值会报错。设置方式:creat table 表名 ( 字段 类型 not null);唯一约束,设置唯一约束的字段赋值不能重复,否则报错。设置方式:create table 表名 ( 字段 类型 unique key );自增长约束:一般配合主键使用,比如在编号时使用。设置方式:create table 表名 ( 字段 类型 auto_incerment);主键约束:通常每张表都需要一个主键来体现唯一性一般在编号或者输入身份证号时可以使用每张表里面只能有一个主键;如果一个字段被设为主键,那它就不能为空,为它插入的值也不能重复。设置方式:create table 表名 ( 字段 类型 primary key );外键约束:用于保持两张表数据的一致性我有的你一定有, 你没有的, 我绝对没有设置方式:表关系一对一:通过用外键的方式,把两个表的主键关联,以此实现。一对多:学院表分id、学院名 2个字段;学生表id、姓名、学院id等3个字段,把两张表的学院id关联起来,就实现了一个学院对多个学生。多对多:选课表设置2个字段,学生id和课程id。用外键分别于学生表、课程表里的学生id、课程id关联,就实现学生与课程的多对多。创建表自上而下,删除表自下而上。