[mysql] 命令行大全


mysql简单介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

内容目录:
1.连接mysql的三种方法
2.基本的sql语句
3.对数据表进行操作
4.数据类型
5.属性与约束
6.更改表结构
练习
7.表数据的增 删 改 查


命令介绍

1.连接mysql的三种方法

  • 在命令行内输入:mysql -u root -p 回车,然后输入密码 ,回车即可进入
  • 在命令行内输入: mysql -h localhost -P 3306 -u root -p 回车,然后输入密码,回车运行即可进入。
  • (windows)可以找开始菜单,在mysql文件夹中找 MySQL,Command Line Client 启动,然后输入密码。

在这里插入图片描述

2.基本的sql语句(sql语句以分号结尾)(类比于常见的 excel 创建写入与存储)

  • 显示所有的数据库文件(类似打开excel文件目录)show databases;
  • 创建数据库 (类似创建excel文件)create database test;
  • 使用某个数据库(相当于打开一个excel文件)use test;
  • 查看数据表(相当于看看有哪些 sheet)show tables;
  • 删除库(相当于删除excel)drop database test;

3.对数据表进行操作

  • 创建表(相当于我们在 excel 中新建一个sheet,然后sheet的首行规定每一列该填什么,如姓名,年龄,性别)
  create table [if not exists] 表名称 (
    			字段名1  列类型 [属性] [约束] [注释],
    			字段名2  列类型 [属性] [约束] [注释],
    			......
    			字段名n  列类型 [属性] [约束] [注释]
    		);

  • 删除表(相当于在excel 中删除一个存在的sheet)drop table (表名称);
  • 查看表结构desc (表名称);
  • 查看数据表show tables;

4.数据类型(一般用在列类型上)

  • 数值类型

整型: 常用的有 int bigint
浮点型:常用的有 float double

  • 字符串类型(m 是个长度数值)

char(m)
varchar(m) varchar(20) 表示20个字符
text
longtext :存个小说

  • 日期类型

date 2019-8-3
datetime 2019-8-3 10:05:30
timestamp 时间戳
time 10:05:30


5.属性与约束

  • null 空
  • not null 不为空
  • default 默认值如: 上面的 age : age int default 18,
  • unique key 唯一 设置 某个列 的值都是唯一的,也就是没用重复,如 身份证号,一般是唯一的
  • primary key : 主键唯一标示(自带唯一属性,not null属性)一个表中必须有的,一般都是数字自增
  • auto_increment: 自增长 必须给主键设置 ,int ,它 的数值是不会回退的
  • foreign key : 外键 减少冗余,用来与其他表连接。
    语法: constraint 你给外键取的名字 foreign key (你想引用到外键的列名称) references 参考表的表名(列名称且这个列名称是有主键属性)

6.更改表结构

  • 更改表名称
    语法:alter table (旧表名) rename as (新表名)
    如:-> alter table class1 rename as classOne;

  • 添加字段
    语法:alter table (表名称) add (字段名) (列类型)[属性][约束]
    如:-> alter table class2 add phone varchar(20);

  • 删除字段
    语法:alter table (表名称) drop (字段名)

  • 更改字段名称
    语法:alter table (表名) change (旧字段名) (新字段名)(列类型)[属性][约束]
    如:-> alter table class2 change name stu_name varchar(20) not null;

  • 更改属性:
    语法: alter table (表名称) modity (字段名) ( 列类型) [属性][约束]
    如:-> alter table class2 modify stu_name varchar(50) not null;

  • 增加外键:
    语法: alter table (你要增加外键的表名) add constraint (你给外键取的名字)( foreign key (你想引用到外键的列名称) references (参考表的表名)(列名称且这个列名称是有主键属性)


练习

创建库 goods
使用goods库
创建商品种类表 commoditytype
创建商品表 commodity
c_id 主键 自增长
c_name 50个字的字符串 不为空
c_madein 50个字的字符串 不为空
c_type ,整型,外键关联到 商品表的 ct_id
c_inprice ,整型 不为空
c_outprice,整型 不为空
c_num, 整数 默认 100

create table commoditytype(
				ct_id int primary key auto_increment,
				ct_name varchar(50) not null
			)default charset=utf8;

create table commodity(
				c_id int primary key auto_increment,
				c_name varchar(50) not null,
				c_madein varchar(50) not null,
				c_type int,
				constraint fk_1  foreign key  (c_type)  references   commoditytype(ct_id),
				c_inprice int not null,
				c_outprice int not null,
				c_num int default 100
			)default charset=utf8;
		

7.表数据的增 删 改 查

7.1增 插入数据
语法:insert into [table_name] ([column],…) values(“name”,…);
例子:

insert into student(name,age,NCEE_grade,register_date) values("刘备",20,400,"2018-9-1");
insert into student(name,age,NCEE_grade,register_date) values("关羽",19,380,"2018-8-31");
insert into student(name,age,NCEE_grade,register_date) values("张飞",18,360,"2018-8-30");

在这里插入图片描述

7.2.删 删除行数据
语法 :delete from [table_name] where [column_name] = " "
例子:

1.删除叫刘备的小朋友 delete from student where name = "刘备";
2.删除age大于等于19的小朋友 delete from student where age>=19;
3.删除登记日期在9月之后的 delete from student where date like "2018-09%";

在这里插入图片描述

7.3.改 更改数据值
格式:update [table_name] set [columns] = " ",[columns] = " " where /
例子:将刘备小朋友的高考成绩改成390

update student set NCEE_grade = 390 where name = "刘备";

在这里插入图片描述

7.4.查 按照统计要求查询数据

按照NCEE_grade升序展示select * from student order by NCEE_grade desc;
在这里插入图片描述
分组统计每一个column出现的次数
格式:select [column],count(*) (as [name])from student group by [column];

select register_date,count(*)  as date_num from student group by register_date;

在这里插入图片描述
根据column1的分组 分别计算每一组的column2的总值
格式:select [column1],sum(column2) from student group by [column1] ;

select name,sum(NCEE_grade) from student group by name ;

在这里插入图片描述

根据column1的分组 分别计算每一组的column2的总值 并且 统计总人数格式:select coalesce(column1,“total_num”),sum(column2) as [name] from student group by [column1] with rollup;

select coalesce(name,"total_grade"),sum(NCEE_grade) as total from student group by name with rollup

在这里插入图片描述


相关推荐
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页