mysql基础用法_MySQL基础用法

本文详细介绍了MySQL数据库的基础操作,包括创建与查看数据库、创建与修改表结构、设置外键约束、数据清理以及数据排序等。内容涵盖创建表、修改表字段、删除字段、清空表数据以及统计和删除重复数据的方法。此外,还讨论了如何在具有外键约束的表间进行操作。
摘要由CSDN通过智能技术生成

2ff34e647e2e3cdfd8dca593e17d9b0a.png

本文涉及的是MySQL数据库的一些常用基础语法:

创建数据库设置默认编码1create database history_db character set utf8;

查看数据库1show databases;

为数据库创建表首先切换到要使用的数据库1use history_db;表创建,如为history_db数据库创建表history1

2

3

4

5

6

7CREATE TABLE history(

id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, # 自增主键

e_id VARCHAR(600) NOT NULL DEFAULT '', # e_id

day VARCHAR(600) NOT NULL DEFAULT '', # 天

date VARCHAR(600) NOT NULL DEFAULT '', # 日期

title VARCHAR(600) NOT NULL DEFAULT '' # 历史事件

)DEFAULT CHARSET=UTF8 ENGINE=INNODB; #设置默认配置

查看表1show tables;

修改表字段名,如day修改为h_day1alter table history change day h_day varchar(600) not null DEFAULT '';

修改表字段类型,如 varchar改为text1alter table history_detail modify column h_content text(0);

清空数据表,有两种情况使用DELETE ,数据可清除,但是自增字段不会被重置为初始值1delete from history

eg:DELETE删除前后

del.jpg使用TRUNCATE,即可清除数据,自增字段也会被重置1TRUNCATE TABLE history

eg:TRUNCATE删除前后

trunc.jpg

一对多 (使用非主键,作为其他表的外键)

如:现有表history_detail,已创建自增主键id1

2

3

4

5

6

7CREATE TABLE history_detail(

id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, # 主键

e_id VARCHAR(600) NOT NULL DEFAULT '', # e_id

h_picNo VARCHAR(600) NOT NULL DEFAULT '', # 天

h_content VARCHAR(600) NOT NULL DEFAULT '', # 日期

h_title VARCHAR(600) NOT NULL DEFAULT '' # 历史事件

)DEFAULT CHARSET=UTF8 ENGINE=INNODB;

现要求使用非主键e_id作为另一表history_pic的外键,那么,需要添加e_id为唯一键,才可以最为表history_pic的外键:1alter table history_detail add unique key(e_id);

创建带有外键约束的表history_pic:1

2

3

4

5

6

7CREATE TABLE history_pic(

id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, # 主键

pic_title VARCHAR(100) NOT NULL DEFAULT '',

pic_url VARCHAR(200) NOT NULL DEFAULT '',

e_id VARCHAR(600) NOT NULL DEFAULT '',

CONSTRAINT pic_fk FOREIGN KEY(e_id) REFERENCES history_detail(e_id) #设置外键约束

)DEFAULT CHARSET=UTF8 ENGINE=INNODB;

设置自增主键的初始值从1开始1alter table history_pic AUTO_INCREMENT=1;

修改字段的长度1alter table history_detail modify column h_content varchar(200);

增加表字段,如(alter table user add age int,add address varchar(11);)1alter table history_pic add pic_id int;

删除表字段

eg:1alter table user drop column age,drop column address;

清除一个带有其他表外键的表数据

eg:

3.jpg

这时需要如下操作:1

2

3SET FOREIGN_KEY_CHECKS = 0;

TRUNCATE history_detail;

SET FOREIGN_KEY_CHECKS = 1;

统计表中重复数据1

2

3

4

5

6

7

8

9

10

11

12

13

14

15SELECT

count(*) AS repeat_count,t.e_id

FROM

history t

GROUP BY

t.e_id

HAVING

repeat_count > 1;

eg:

4.jpg

使用DISTINCT关键字过滤重复数据1

2

3

4

5

6

7SELECT

DISTINCT t.e_id

FROM

history t;

删除重复数据1

2

3

4

5

6

7

8

9

10

11

12

13

14

15create table t_temp SELECT

t.e_id,t.h_day,h_date,t.h_title

FROM

history t

GROUP BY

t.e_id,t.h_day,h_date,t.h_title;

DROP TABLE history;

ALTER TABLE t_temp RENAME TO history;

数据排序DESC降序排列,默认升序排列1select * from room where uid='1329907' order by addtime DESC根据 “列” 从小到大排列1select * from 表 order by 列 asc根据 “列” 从大到小排列1select * from 表 order by 列 desc根据 “列1” 从大到小排列,如果相同则按列2从小到大排序1select * from 表 order by 列1 desc,列2 asc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值