MySQL学习笔记 | 04 - MySQL数据库基本操作(增加、修改、删除、查看)

注意,MySQL中输入的所有语句都要以;/q结尾!

接下来的所有操作以电网公司管理用户用电记录为例。

1. 数据库的查看、创建与删除

① 创建数据库

create database <数据库名>;

② 删除数据库

drop database <数据库名>;

③ 查看当前所有存在的数据库

show databases;

2. 数据表的查看、创建与删除

2.1. 使用指定的数据库(必须)

use <数据库名>;

2.2. 查看数据库中的表

show tables;

2.3. 创建表

create table 表名(字段1, …字段n,[表级约束]) [type=表类型];

每个字段的格式为:

字段名 字段类型 字段约束

① 字段类型

  • int、 bigint、 smallint、 tinyint
    • int(M)的M 表示最大显示宽度,与存储大小无关
  • float、 double
    • float(5,2)表示显示5位有效数字,小数位显示2位
  • char、 varchar——字符串
    • Char(N)固定使用N个字符长度,不足部分后面补空格;
    • varchar(N)可指定最大字符数;
    • text、 blob——不指定长度的字符串;
  • blob存储二进制、 text存储字符串
    • date、 time、 datetime、 timestamp;

② 字段约束

  • null/not null 允许/不允许该字段为空,默认为null;
  • default default_value 指定默认值
  • auto-increment 自增长

③ 表级约束

  • primary key 主键
  • unique 唯一键

示例:

设计一个数据库,用于电网公司管理用户用电记录。

数据表包括:

  • 用户号(id, 10 位整数,不能为空,且具有唯一性)
  • 用电类型(type,枚举型。分为家庭用电、商业用电、工业用电,不同的用电类型电价不
    同,电价无需存入数据库,可以使用实际价格)
  • 电费预存款余额(balance,浮点型)
  • 总用电量(total,整数)
  • 本年度用电量(amount,整数,用于阶梯电价计算)
  • 用户手机号(phone, char(11))
use wangshiwei; 
create table user961 (id INT(10) not null,type ENUM("home","industry","business"),balance FLOAT,total INT,amount INT,phone CHAR(11));

2.4. 查看、复制、删除表

查看表结构:

desc <表名>;

复制一张表:

create table <新表名> like <源表名>;

删除一张表:

drop table <表名>;

2.5. 修改表结构

alter table <表名> 更改动作1[,更变动作2]

① 增加一个字段

alter table <表名> add <字段名> <类型> first|after;

如果没有指定first或者after,则在末尾添加一列。

② 删除一个字段

alter table <表名> drop <字段名>;

③ 修改一个字段的属性

alter table <表名> modify <字段> <新属性>;

④ 改表名

alter table <旧表名> to <新表名>;
rename table <旧表名> to <新表名>;

3. 数据表记录的查看、创建与删除

3.1. 向表中添加记录

insert into <表名>(<字段1>,<字段2>) values(<字段1的值>,<字段2的值>); 

3.2. 删除表中记录

delete from <表名> where <条件表达式>;

条件表达式可以是:

<字段>=<字段值>

3.3. 修改表中记录

update <表名> set 字段1=字段1的值[,字段2=字段2的值] where <条件表达式>;

eg. 在之前创建的电网用户数据表中添加一条记录。

4. 数据表记录查询

4.1. 读取表中所有数据

select * from <表名>;

4.2. 查找特定数据

比如查找某一个属性值满足要求的所有记录:

select * from <表名> where <条件表达式>;

① 查找属性值中以abc开头的条件表达式:

where name like 'abc%';

② 查找属性值中包含abc的条件表达式:

where name like '%abc%';

4.3. 查询结果的过滤与排序

① 只显示第1条记录:

select * from <表名> limit 1;

② 只显示第3到7条记录:

select * from <表名> limit 2 5;

limit后的前一个参数表示从第几个开始显示(0为第一个),后面的参数表示显示几条记录。

③ 对查询结果的排序:
按某一字段属性升序排列

select * from <表名> order by <字段名> asc;

按某一字段属性降序排列

select * from <表名> order by <字段名> desc;

如果最后一个参数asc或者desc不加,则默认升序排列。

接收更多精彩文章及资源推送,欢迎订阅我的微信公众号:『mculover666』。

发布了284 篇原创文章 · 获赞 1036 · 访问量 37万+

猜你喜欢

转载自blog.csdn.net/Mculover666/article/details/105668025
今日推荐