MYSQL--SQL语言

SQL--操作关系型数据库语言

在cmd中输入net stop/start mysql80来 启用/关闭 MySQL.
在cmd中输入mysql -h 127.0.0.1 -P 3306 -u root -p来连接到MySQL客户端,
或者直接打开MySQL的客户端终端.
关系型数据库使用表结构储存数据,使用统一的sql语言.

SQL的通用语法

1. sql语句可以多行或单行书写,以分号结尾.
2. MySQL数据库中的SQL语言不区分大小写.
3. 注释, --内容,#内容或者/*内容*/

分类 全称 说明
DDL Data Definition Language 数据定义语言,定义数据库对象
DML Data Manipulation Language 数据操作语言,对数据库进行增删改
DQL Data Query Language 数据查询语言,查询表中数据
DCL Data Control Language 数据控制语言,创建用户,控制访问权限

DDL

数据库操作

  1. 查询:show databases;
  2. 查询当前数据库:select database();
  3. 创建:create database [if no exists] 数据库名;
  4. 删除:drop database 数据库名;
  5. 使用:use 数据库名;

表操作

  1. 查询当前库所有表:show tables;
  2. 查询表结构:desc 表名;
  3. 查看表的建表语句:show create table 表名;
  4. 创建表 --> 例:
mysql> create table tb_user(
    -> id int comment '编号',
    -> name varchar(50) comment '姓名',
    -> age int comment '年龄',
    -> gender varchar(1) comment '性别'
    -> ) comment '用户表';

ps: varchar为字符串类型,括号中数字为字符串长度,会根据写入的字符串长度调整该数据的存储空间.

数值类型

类型 大小(byte)
tinyint 1
smallint 2
mediumint 3
int 4
bigint 8
float 4
double 8

表操作

  1. 添加字段
    alter table 表名 add 字段名类型 [comment 注释][约束];
  2. 修改某一字段的数据类型
    alter table 表名 change 旧字段名 新字段名 类型 [comment 注释][约束];
  3. 删除字段
    alter table 表名 drop 字段名;
  4. 修改表名
    alter table 表名 rename to 新表名;
  5. 删除表
    drop table [if exist] 表名;
  6. 删除指定表,并重新创建(只有表结构,而无数据)
    truncate table 表名;
    mysql图形化界面:sqlyog datagrip

DML

  1. 添加数据
    insert into 表名 (字段1,字段2....) values (值1,值2....);
  2. 给全部字段添加数据
    insert into 表名 values (值1,值2....);
    例:
    insert into employee (id,workno,name,gender) values (1,'1','idcast','男');
    使用select * from employee;查看表.
  3. 修改数据
    update 表名 set 字段1=值1,字段2=值2.... [where 条件];
  • 例:update employee set name= 'itheima' where id = 1;
    若不带where条件语句,会更新整张表的内容
  1. 删除数据
    delete from 表名 where 条件;

DQL

  1. 查询多个字段
    select 字段1 字段2 .... from 表名;或者select * from 表名;
  2. 设置别名
    select 字段1[as 别名1],字段2[as 别名2]....from 表名;
  3. 去除重复记录
    select distinct 字段列表 from 表名;
  4. 条件查询
    select 字段列表 from 表名 where 条件列表;
条件 >,<,<>,<=,>=,=,!=,between...and...,is null,in(...),like
逻辑符 and或&&,or或||,not或!

例:

  • select * from emp where age >= 15 and age <= 20;
  • select * from emp where age between 15 and 20;
    ps:将15 和 20 调换后不可用,between后跟最小值,and后跟最大值.
  • select * from emp where age in(18,20,25);
  • 查询姓名为俩个字的员工信息
    select * from emp where name like '__';
  • 查询身份证最后一位是X的员工信息
    select * from emp where idcard like '%X';

聚合函数
作用于某列数据
count --> 统计数量
max,min --> 最大最小值
avg --> 平均值
sum --> 求和
用法:select 聚和函数(字段列表) from 表名
例:

  • select count(id) from emp; null不参与聚合函数的计算.
  • select avg(age) from emp;
  • 统计西安地区员工年龄之和
    select sum(age) from emp where workaddress = '西安';

分组查询
select 字段列表 from 表名 [where 条件] group by 分组名字段 [having 分组后过滤条件];
例:按性别分组

  • select gender,count(*) from group by gender;
7
9
  • select gender,avg(age) from group by gender;
31.4268
46.8889
posted @ 2024-09-23 13:05  MrNegev  阅读(41)  评论(0)    收藏  举报