02 MySQL数据库命令

数据库命令

一、MySQL基本操作

  • 连接MySQL数据库服务器
mysql -h[主机]  -P[端口]  -u[用户] -p[密码]
  • 显示所有数据库
show databases;
  • 使用指定数据库
use 数据库名;
  • 显示数据库中的所有表
show tables;
  • 描述表中的列的字段信息
desc 表名称;
  • 退出数据库服务器
quit;

二、MySQL常用SQL命令

SQL: (Structured Query Language),结构化查询语言,对关系型数据库服务器中的数据进行增删改查的操作。

1.命令操作模式

​ (1)交互模式:客户端输入一行,服务器执行一行,适用于临时查看数据

mysql> [SQL命令]

​ (2)脚本模式:命令书写在文本文件中,服务器一次性执行,适用于批量的增删改查。

mysql -u[用户] < D:\query.sql

2.SQL语法规范

  1. 每条SQL语句必须以英文的分号结尾,一条语句可跨越多行,直到分号语句结束。
  2. 多条语句中,其中一条语句有误,则此语句后续语句不再执行。
  3. SQL命令不区分大小写,习惯上数据库关键字大写,非关键字小写。
  4. SQL语句具有单行注释#....和多行注释/*....*/

3.常用SQL语句

  1. 设置字体编码:set names UTF8;

  2. 丢弃数据库:drop database if exists 数据库名;

  3. 创建数据库[并声明字体编码]:

    create database 数据库名 [charset=utf8];

  4. 使用数据库:use 库名

  5. 创建数据表:
    create table 表名(id INT,name varchar(8),age INT);

  6. 增加表数据:
    insert into 表名 values('value1','value2','value3');

  7. 查询表数据:select * from 表名;

  8. 修改表数据:update 表名称 set 名称='值' where 条件

  9. 删除表数据:delete from 表名称 where 条件

DDL:(Data Define Language)定义数据语言:create、drop、alter
DML:(Data Munipulate Language)操作数据语言:insert 、delete、update
DQL:(Data Query Language)查询数据语言:select
DCL:(Data Control Language)控制用户权限语言:grant、revoke

4.列约束

MySQL可以对插入的数据进行特定的验证,只有满足条件才被允许插入到数据表中,否则就是非法的插入

  1. 主键约束:primary key

1.主键约束列上的值不可重复
2.查询记录按照主键由小到大排序
3.主键通常添加到编号列中
4.一个表中只能有一个主键

  1. 唯一约束:unique

1.唯一约束列上的值不可重复
2.允许插入NULL,并且插入多个NULL

  1. 非空约束:not NULL

非空约束的列不能插入NULL

  1. 默认值约束:default

使用default关键字声明默认

  1. 检查约束:check

对插入的数据进行检验

  1. 外键约束:foreign key
alter table B add constraint A_B_Ids foreign key(Aid) references A(Ids) `

声明外键约束的列的取值须在另一个表的主键列上值相同,列类型一致

#创建学生表
create table stu(
	sid INT primary key,#设置主键约束
    sname varchar(20) unique,#设置唯一约束
    sage INT check(sage >=18 AND sage <= 60),#设置检查约束
    ssex char(1) default 'M',#设置默认值约束
    snumber char(14) not NULL,#设置非空约束
    stid INT 
);
#创建老师表
create table tea(
    tid INT foreing key(tid) references stu(stid),#设外键约束
    tname varchar(10),
    tage INT
);
#插入信息,两种采用默认方式
insert into stu values(1,'小敏',19,default,'201917001');
insert into stu(sid,sname,snumber) values(
    1,
    '小花',
    18,
    '201917002'
);

5.自增列

auto_increment :自动增长,加入一个列声明的自增列,无需手动赋值,直接设置NULL

1.自增列允许手动赋值
2.只适用于整数型的主键列上

6.查询字段信息

  1. 查询指定字段:select 字段1 字段2 字段3 from 表名;
  2. 查询所有字段:select * from 表名;
  3. 查询并起别名:select 字段 as 表名 form 表名;
  4. 显示不同记录且合并相同记录:select distinct 字段 from 表名;
  5. 查询时执行数学运算:select 字段 from 运算符 数学表达式;
  6. 查询结果集进行排序: asc[升序] desc[降序]
    • 查询表,按照字段排序:
      select 字段 from 表名 order by 字段 排序关键字;
    • 查询表,按照字段1排序,若字段1相同则按字段2排序
      select 字段 from 表名 order by 字段1 排序关键字,字2;

1.order by 按照: 数值、日期、时间、字符串 排序
2.order by 默认按照ASC排序,可省略排序关键字

  1. 条件查询字段:select 字 段 from 表名 where 条件

1.IS NULL
2.IS NOT NULL
3.AND/OR
4.BETWEEN…AND…/NOT BETWEEN…AND…
5.IN( )/NOT IN( )
6.> < = !=

  1. 模糊条件查询:select 字段 from 表名 where 条件 like '符号+字符'

    % : 匹配任意多个字符

    — : 匹配任意一个字符

  2. 分页查询:select 字段 from 表名 limit start,count

start:从哪一条开始
count: 条数的跨度
start = (页码 - 1) * count

所需的两个条件:1.当前页码 2.每页的数据量

发布了104 篇原创文章 · 获赞 64 · 访问量 5355

猜你喜欢

转载自blog.csdn.net/qq_42873753/article/details/103945455