MySQL数据库基本使用命令

MySQL基本使用

数据库操作

0.查看时间

  • select now();

1.查看所有数据库

  • show databases;

2.创建一个新数据库并指定字符集

  • create database 数据库名 charset=utf8;

3.产看数据库创建信息

  • show create database 数据库名;

4.修改信息

  • alter database 数据库 charset=utf8;

5.使用数据库

  • use 数据库名;

6.查看当前使用的数据库

  • select database();

7.删除数据库

  • drop database 数据库名;

数据库表操作

0.先切换要操作的数据库

  • use 数据库名;

1.创建数据表

  • create table 表名(字段名 类型 约束,…)
  • create table person(id int primary key, name char(10) not null default ‘匿名’);

2.查看表的创建信息

  • show create table 表名;

3.查看表结构

  • desc 表名;

4.添加字段

  • alter table 表名 add 字段名 类型 约束;

5.修改字的类型或者约束

  • alter table 表名 modify 字段名 新类型 新约束,…;
  • 注意:modify: 只能修改字段类型或者约束,不能修改字段名

6.修改字段名或类型或约束

  • alter table 表名 change 旧字段名 新字段名 新类型 新约束,…;

6.删除字段

  • alter table 表名 drop 字段名;

7.删除表

  • drop table 表名;

8.修改表的存储引擎使用:

  • alter table 表名 engine = 引擎类型;
    • 比如: alter table students engine = ‘MyISAM’;

表数据操作的SQL语句

1.查询数据

01.查询所有列
  • select * from 表名;
  • select * from t_student;
02.查询指定列
  • select 列1,列2,… from 表名;
  • select c_id, c_name from t_student;

2.添加数据:

  • 01.全列插入:
    • insert into 表名 values (…);
    • insert into students values(0, ‘xx’, default, default, ‘男’);
  • 02.部分列插入:值的顺序与给出的列顺序对应
    • insert into 表名 (列1,…) values(值1,…)
    • insert into students(name, age) values(‘王二小’, 15);
  • 03.全列多行插入
    • insert into 表名 values(…),(…)…;
    • insert into students values(0, ‘张飞’, 55, 1.75, ‘男’),(0, ‘关羽’, 58, 1.85, ‘男’);
  • 04.部分列多行插入
    • insert into 表名(列1,列2…) values(值1,…),(值1,…)…;
    • insert into students(name, height) values(‘刘备’, 1.75),(‘曹操’, 1.6);
  • 说明:
    • 01.主键列是自动增长,但是在全列插入时需要占位,通常使用空值(0或者null或者default)
    • 02.在全列插入时,如果字段列有默认值可以使用 default 来占位,插入后的数据就是之前设置的默认值

3.修改数据

  • update 表名 set 列1=值1,列2=值2… where 条件;
  • update students set age = 18, gender = ‘女’ where id = 6;

4.删除数据

  • delete from 表名 where 条件;
  • delete from students where id=5;

1. 问题:

  • 上面的操作称之为物理删除,一旦删除就不容易恢复,我们可以使用逻辑删除的方式来解决这个问题。
  • – 添加删除表示字段,0表示未删除 1表示删除
    • alter table students add isdelete bit default 0;
  • – 逻辑删除数据
    • update students set isdelete = 1 where id = 8;
  • 说明:
      • 逻辑删除,本质就是修改操作

as和distinct关键字

as关键字

    1. 使用 as 给字段起别名
    • select id as 序号, name as 名字, gender as 性别 from students;
    1. 可以通过 as 给表起别名
    • – 如果是单表查询 可以省略表名
      • select id, name, gender from students;
    • – 表名.字段名
      • select students.id,students.name,students.gender from students;
    • – 可以通过 as 给表起别名
      • select s.id,s.name,s.gender from students as s;
    • 在这里给表起别名看起来并没有什么意义,然而并不是这样的,我们在后期学习 自连接 的时候,必须要对表起别名。

distinct关键字

  • distinct可以去除重复数据行。
    • select distinct 列1,… from 表名;
  • 例: 查询班级中学生的性别
    • select name, gender from students;
  • – 看到了很多重复数据 想要对其中重复数据行进行去重操作可以使用 distinct
    • select distinct name, gender from students;

where条件查询

where语句支持的运算符:

  • 比较运算符
    • 等于: =
    • 大于: >
    • 大于等于: >=
    • 小于: <
    • 小于等于: <=
    • 不等于: != 或 <>
  • 逻辑运算符
    • and
    • or
    • not
  • 模糊查询
    • like是模糊查询关键字
    • %表示任意多个任意字符
    • _表示一个任意字符
  • 范围查询
    • between … and … 表示在一个连续的范围内查询
    • in 表示在一个非连续的范围内查询
  • 空判断
    • 判断为空使用: is null
    • 判断非空使用: is not null

排序

排序查询语法:

  • select * from 表名 order by 列1 asc|desc [,列2 asc|desc,…]
  • 先按照列1进行排序,如果列1的值相同时,则按照 列2 排序,以此类推
  • asc从小到大排列,即升序
  • desc从大到小排序,即降序
  • 默认按照列值从小到大排序(即asc关键字)

分页查询

语法

  • select * from 表名 limit start,count
  • limit是分页查询关键字
  • start表示开始行索引,默认是0
  • count表示查询条数

分页查询案例

  • 查询学生表,获取第n页数据的SQL语句:
  • select * from students limit (n-1)*m,m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值