数据库查询

MySQL数据库结构

  库  创建  删除  查询  选择使用

  表  创建  删除  修改  基本查询

  列  增加  删除  修改  查询

  行  增加  删除  修改  查询

数据库是“按照数据结构来组织、存储和管理数据的仓库”

PHPMyAdmin/linux命令id

  • 数据库

复制代码
~#mysql -u root -p    (linux系统命令)
    #输入密码登录数据库
>show databases;
  #查看数据库
>creat database employees charset utf8;
  #创建数据库employees
>drop database employees;
  #删除数据库employees
>use employees;
  #选择进入数据库employee
复制代码

进入库以后

  • 数据表

>create table employee
    #创建数据表employee
复制代码
->(
->id int,
->name vaechar(40),
->sex char(4),
->birthday date,
->job varchar(100)
->);

    #写入表格信息及相关参数
复制代码

实例:

CREATE TABLE employee
(
        id int,
        name varchar(40),
        sex char(4),
        birthday date,
        job varchar(100)
);         
  • 数据表命令

>show full columns from employee
    # 查看数据表信息
>select * from employee;
    #查看数据表列表
>drop table employee;
    #删除数据表
>rename table employee to user;
    #修改数据表名称为user

 

  • 数据表和数据行

插入数据

>insert into user
    ->(
    ->id,name,sex,birthday,job)
    ->values
    ->(
    ->1,'ctfstu','male','1999-05-06','it')
    ->;
insert into user(id,name,sex,birthay,job)
values(1,'ctfstu','male','1999-05-06','it');

 

>select * from user;
     #查看数据表列表
>alter table user add salary decimal(8,2);
    #增加一列内容

使用update修改某一列信息

复制代码
>update user set salary=5000;
    #修改所有工资为5000
>update user set name='benben' where id=1;
    #修改id=1的行name为benben
>update user set name='benben2',salary=3000 where id=1;
    #修改id=1的行name为benben2,工资为3000
>alter table user drop salary;
    #删除列
>delete from user where job='it';
    #删除行
>delete from user;
    #删除表
复制代码

 

  • sql查询

基础查询语句     select  from  where    

SELECT

>select * from users where id=1;
    #select+列名(*代表所有)from+表名 where+条件语句
>select * from users where id in ('3');
    #从users表格,查询所有包含id=3
>selcet *from users where id=(select id from users where username=('admin'));
    #子查询 优先查询()内的查询语句

 


基本语句构造

查询参数指令   union、group by、order by、limit、and、or   

UNIOIN

>select id from users union select email_id from emails;
    #查询并合并数据显示
>select * from users where id=6 union select * from emails where id=6;
    ERROR:have a different number of columns 联合注入(查询)前后表格列数必须相等
>select * from users where id=6 union select *,3 from emails where id=6;
    #3为填充列 此为user列数比email列数多一列的情况,若后面的列数比前面的多应在前面的*后添加填充列

 

group by 分组

>select department,count(id) from student group by department;
    #查询department院系人数        count(id)对ID进行计数

一般用于二分法判断数据表列数

>select * from users where id=9 group by 2;
    #by 2,4,8~~~依次排查到报错为止,从而确定列数;
>select * from users where id=9 group by 4;
    ……

 

order by (默认按照升序排序)

>select stu_id from score share c_name='计算机' order by grade desc;
    #grade参数desc使排序顺序变为降序

同group by,一般用于判断数据表列数

示例

>select * from users order by 1;
    #对第1列进行排序
>select * from users order by 1 desc;
    #对第1列按照降序进行排序

 

limit (限制输出内容数量)

>select * from users limit 1,3;
    # 限制为从第1行开始显示3行
>select * from users limit 0,3;
    #限制为从0行开始显示3行
(实际是从0行开始计数)

 

and和or

复制代码
>selet * from student where sex='' and department='英语系';
    #and前后同时满足

 

>select * from student where sex='' or department='英语系';
    #满足or前后一个即可

 

复制代码



常用函数    group_concat()、database()、version()  

group_concat()   合并到一行显示

>select usersname from users;
实例:

 

复制代码
>select group_concat(username) from users;
实例:

 

复制代码

 

select database()   查看当前数据库名称

select version()  查看当前数据库版本

posted @   程亦澄  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示