MySQL第一篇

MySQL第一篇

1.启动和连接MySQL服务器

sudo /etc/init.d/mysql start

sudo /etc/init.d/mysql start | stop | restart

sudo -i
/etc/mysql/mysql.conf.d/mysqld.cnf #修改配置文件,远程连接

2.客户端连接

mysql -h主机地址 -u用户名 -p密码

mysql -hlocalhost -uroot -p123456

3.基本的数据库命令

对库操作:
show databases;	查看已有的库
create database 库名 character set utf8;  创建库(指定字符集)
select database();  查看当前所在库
use 库名;  切换库
show tables;  查看库中已有的表
drop database 库名;  删除库

4.库命名规则
1、数字、字母、_,但不能使用纯数字

​ 2、库名区分字母大小写

​ 3、不能使用特殊字符和mysql关键字

对表操作:
create table 表名(字段名1  数据类型,
                  字段名2  数据类型
		  )character set utf8;  创建表(指定字符集)
show create table 表名;  查看创建表的语句(字符集、存储引擎)	
desc 表名;  查看表结构
drop table 表名;  删除表

对表记录:
insert into 表名 values(1),(2);  增加表记录
delete from 表名 where 条件;  删除满足条件的记录
update 表名 set 字段1=1,字段2=2 where 条件;  更新满足条件的记录的字段1,字段2的值
查询表记录:
    select * from 表名 where 条件;  
    select  字段1,字段2 from 表名 where 条件;
    
对表字段操作:
1.语法:alter table 表名 执行动作;
2、添加字段(add)
    alter table 表名 add 字段名 数据类型;
    alter table 表名 add 字段名 数据类型 first;
    alter table 表名 add 字段名 数据类型 after 字段名; 
3、alter table 表名 drop 字段名;   删除字段
4、alter table 表名 modify 字段名 新数据类型;
5、desc 表名;  查看表结构
6.alter table 原表名 rename 新表名  修改表名
7.alter table 表名 change 原字段名 新字段名 数据类型

show engines   查看引擎
show index from  表名\G  查看索引

字符类型宽度和数值类型宽度区别:

1、数值类型宽度为显示宽度,只用于select查询时显示,和存储无关,可用zerofill查看效果

2、字符类型宽度超过之后无法存储

数据类型:整型 字符型 枚举型 时间类型

关系型数据库的核心内容是 关系 即 二维表

char和varchar的特点:

1、char :浪费存储空间,性能高

2、varchar :节省存储空间,性能低

运算符操作

1、数值比较&&字符比较&&逻辑比较

​ 1、数值比较 := != > >= < <=

​ 2、字符比较 := !=

​ 3、逻辑比较 :and 、or 、between 值1 and 值

2、范围内比较

​ 1、where 字段名 in(值1,值2,…)

​ 2、where 字段名 not in(值1,值2,…)

3、匹配空、非空

​ 1、where name is NULL

​ 2、where name is not NULL

4、模糊查询(like)

​ 1、where 字段名 like 表达式
select * from stu where name like “%明”

​ 2、表达式

% :匹配0到多个字符

_ :匹配1个字符

SQL查询

语法:
    3、select ...聚合函数 from 表名

        1、where ...

        2、group by ...

        4、having ...

        5、order by ...

        6、limit ...;
        
*数字代表步骤顺序

聚合函数

avg(字段):平均值

sum(字段):求和

max(字段):最大值

min(字段):最小值

count(字段):统计该字段记录的条数

group by 字段名 根据给定的字段进行分组

e.g.	
	select country,avg(gongji) from sanguo group by country;

注意

​ 1、group by后字段名必须要为select后的字段

​ 2、如果查询字段和group by后字段不一致,则必须对该字段进行聚合处理(聚合函数)

having :对分组聚合后的结果进行进一步筛选

e.g.
select country,avg(gongji) from sanguo
      group by country
      having avg(gongji)>105
      order by avg(gongji) DESC
      limit 2;

order by 字段名 给查询结果进行排序 默认ASC(升序)/DESC(降序)

limit(永远放在SQL语句的最后写)
1、用法

​ 1、limit n :显示n条记录

​ 2、limit m,n :从第m+1条记录开始,显示n条

​ limit 2,3 :显示3、4、5三条记录

2、分页

​ 1、每页显示5(m)条记录,显示第4(n)页的记录

​ limit (n-1)*m,m

猜你喜欢

转载自blog.csdn.net/weixin_43278089/article/details/88603708
今日推荐