MySQL数据库的单表基本操作(一,SQL语句了解与名著小练习)
迟到的整理笔记,记录小编自己所知所学。互联网是有记忆的
ANSI,美国国家标准化组织
MySQL是关系型数据库
SQL历史:
1970 | IBM首先提出 |
---|---|
1980 | 改名SQL |
1986 | ANSI制定了数据库的规则(方便了学习其他数据库) |
SQL的语句:(SQL 是一门 ANSI 的标准计算机语言(结构化查询语言),用来访问和操作数据库系统,一定要记住,SQL 对大小写不敏感!,一般规定关键字大写。)
具体介绍可参考下面地址:https://www.w3school.com.cn/sql/sql_intro.asp
SQL语句分类:
DDL(数据定义语言) | create"创建“ ,drop”删除“ |
---|---|
DML(实际操作语言 | CRED”增删改查“ |
DCL(数据控制语言1) | grant"授权” ,revoke"撤销“ |
SQL 中最重要的 DDL 语句:
SELECT | 从数据库表中获取数据 |
---|---|
UPDATE | 更新数据库表中的数据 |
DELETE | 从数据库表中删除数据 |
INSERT INTO | 向数据库表中插入数据 |
CREATE DATABASE | 创建新数据库 |
ALTER DATABASE | 修改数据库 |
CREATE TABLE | 创建新表 |
ALTER TABLE | 变更(改变)数据库表 |
DROP TABLE - | 删除表 |
CREATE INDEX | 创建索引(搜索键) |
DROP INDEX | 删除索引 |
CREATE DATABASE 创建新数据库名 【default charset='utf8'];没有编码,1,有默认走默认,2,找配置文件 ,3,默认编码(拉丁文编码,中文报错) /*指定编码,(ststem cls ”清屏“)/
增加数据库
进入增加数据库进行查看(use 数据库名称)
删除数据库:
create database db_nhjc default charset="utf8";/*创建可以使用中文数据库db_nhjc/
数据库,一般存在5种约束
主键约束 | 用来描述唯一标识符 |
---|---|
非空约束 | 字段的值不能为空 |
唯一约束 | 唯一索引中允许有null“空” |
默认值约束 | 添加默认选项参数 |
检查约束 | 检测和过滤不符合实际意义的数据(5.8版本前mysql中不生效的!!) |
MySQL数据类型
CHAR(size) | 保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。 |
---|---|
VARCHAR(size) | 保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。注释:如果值的长度大于 255,则被转换为 TEXT 类型。 |
TINYTEXT | 存放最大长度为 255 个字符的字符串。 |
TEXT | 存放最大长度为 65,535 个字符的字符串。 |
BLOB | 用于 BLOBs (Binary Large OBjects)。存放最多 65,535 字节的数据。 |
MEDIUMTEXT | 存放最大长度为 16,777,215 个字符的字符串。 |
MEDIUMBLOB | 用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 字节的数据。 |
LONGTEXT | 存放最大长度为 4,294,967,295 个字符的字符串。 |
LONGBLOB | 用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。 |
ENUM(x,y,z,etc.) | 允许你输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。如果列表中不存在插入的值,则插入空值。注释:这些值是按照你输入的顺序存储的。可以按照此格式输入可能的值:ENUM(‘X’,‘Y’,‘Z’) |
SET | 与 ENUM 类似SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。 |
Number 类型:
TINYINT(size) | -128 到 127 常规。0 到 255 无符号*。在括号中规定最大位数。 |
---|---|
SMALLINT(size) | -32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。MEDIUMINT(size) -8388608 到 8388607 普通。0 to 16777215 无符号*。在括号中规定最大位数。 |
INT(size) | -2147483648 到 2147483647 常规。0 到 4294967295 无符号*。在括号中规定最大位数。 |
BIGINT(size) | -9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。 |
FLOAT(size,d) | 带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。 |
DOUBLE(size,d) | 带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。 |
DECIMAL(size,d) | 作为字符串存储的 DOUBLE 类型,允许固定的小数点。 |
这些整数类型拥有额外的选项 UNSIGNED。通常,整数可以是负数或正数。如果添加 UNSIGNED 属性,那么范围将从 0 开始,而不是某个负数。
创建表
create table t_user (# 定义表的结构字段名称1 字段1类型 [约束条件,]字段名称2 字段2类型 [约束条件,]字段名称3 字段3类型 [约束条件,]...字段名称n 字段n类型 [约束条件]);
下面说一个例子来展示单表的增删查改
首先我们先创建库“ db_mingzhu”(MySQL本身的四个库,小白的我们不要乱动),在库中创建四张表 t_sanguo t_shuihuo t_xiyou t_honglou。并添加相应的人物。
create database db_mingzhu default charset="utf8";
USE db_mingzhu
CREATE TABLE t_sanguo ( id int primary key auto_increment comment '用户主键',name varchar(20) not null unique comment '用户名称', feeling varchar(20), factions varchar(20));
INSERT INTO t_sanguo VALUES(NULL,"曹操","宁教我负天下人,休教天下人负我","魏");
INSERT INTO t_sanguo VALUES(NULL,"刘备","勿以恶小而为之,勿以善小而不为","蜀");
INSERT INTO t_sanguo VALUES(NULL,"孙权","足下不死,孤不得安!","吴");
INSERT INTO t_sanguo VALUES(NULL,"诸葛亮","鞠躬尽瘁死而后已","蜀");
INSERT INTO t_sanguo VALUES(NULL,"司马懿","为人者,有大度成大器矣!","魏");
INSERT INTO t_sanguo VALUES(NULL,"周瑜","将者贵在知敌虚实,而后避实而击虚。","吴");
现象:
水浒:(其他表相同,小编就不一一操作了)
CREATE TABLE t_shuihuo ( id int primary key auto_increment comment '用户主键',name varchar(20) not null unique comment '用户名称', nickname varchar(20) );
INSERT INTO t_shuihuo VALUES(NULL,"九纹龙","史进");
INSERT INTO t_shuihuo VALUES(NULL,"神机军师","朱武");
INSERT INTO t_shuihuo VALUES(NULL,"跳涧虎","陈达");
INSERT INTO t_shuihuo VALUES(NULL,"白花蛇","杨春");
INSERT INTO t_shuihuo VALUES(NULL,"花和尚","鲁智深");
INSERT INTO t_shuihuo VALUES(NULL,"打虎将","李忠");
INSERT INTO t_shuihuo VALUES(NULL,"小霸王","周通");
INSERT INTO t_shuihuo VALUES(NULL,"豹子头","林冲");
INSERT INTO t_shuihuo VALUES(NULL,"小旋风","柴进");
INSERT INTO t_shuihuo VALUES(NULL,"旱地忽律","朱贵");
INSERT INTO t_shuihuo VALUES(NULL,"摸着天","杜迁");
INSERT INTO t_shuihuo VALUES(NULL,"云里金刚","宋万");
INSERT INTO t_shuihuo VALUES(NULL,"青面兽","杨志");
INSERT INTO t_shuihuo VALUES(NULL,"急先锋","索超");
INSERT INTO t_shuihuo VALUES(NULL,"美髯公","朱仝");
INSERT INTO t_shuihuo VALUES(NULL,"插翅虎","雷横");
INSERT INTO t_shuihuo VALUES(NULL,"赤发鬼","刘唐");
INSERT INTO t_shuihuo VALUES(NULL,"智多星","吴用");
INSERT INTO t_shuihuo VALUES(NULL,"立地太岁","阮小二");
INSERT INTO t_shuihuo VALUES(NULL,"短命二郎","阮小五");
INSERT INTO t_shuihuo VALUES(NULL,"活阎王","阮小七");
INSERT INTO t_shuihuo VALUES(NULL,"入云龙","公孙胜");
INSERT INTO t_shuihuo VALUES(NULL,"白日鼠","白胜");
INSERT INTO t_shuihuo VALUES(NULL,"操刀鬼","曹正");
INSERT INTO t_shuihuo VALUES(NULL,"及时雨","宋江");
INSERT INTO t_shuihuo VALUES(NULL,"铁扇子","宋清");
INSERT INTO t_shuihuo VALUES(NULL,"行者","武松");
INSERT INTO t_shuihuo VALUES(NULL,"菜园子","张青");
INSERT INTO t_shuihuo VALUES(NULL,"金眼彪","施恩");
INSERT INTO t_shuihuo VALUES(NULL,"毛头星","孔明");
INSERT INTO t_shuihuo VALUES(NULL,"独火星","孔亮");
INSERT INTO t_shuihuo VALUES(NULL,"锦毛虎","燕顺");
INSERT INTO t_shuihuo VALUES(NULL,"矮脚虎","王英");
INSERT INTO t_shuihuo VALUES(NULL,"白面郎君","郑天寿");
INSERT INTO t_shuihuo VALUES(NULL,"小李广","花荣");
INSERT INTO t_shuihuo VALUES(NULL,"镇三山","黄信");
INSERT INTO t_shuihuo VALUES(NULL,"霹雳火","秦明");
INSERT INTO t_shuihuo VALUES(NULL,"小温侯","吕方");
INSERT INTO t_shuihuo VALUES(NULL,"赛仁贵","郭盛");
INSERT INTO t_shuihuo VALUES(NULL,"石将军","石勇");
INSERT INTO t_shuihuo VALUES(NULL,"催命判官","李立");
INSERT INTO t_shuihuo VALUES(NULL,"混江龙","李俊");
INSERT INTO t_shuihuo VALUES(NULL,"出洞蛟","童威");
INSERT INTO t_shuihuo VALUES(NULL,"翻江蜃","童猛");
INSERT INTO t_shuihuo VALUES(NULL,"病大虫","薛永");
INSERT INTO t_shuihuo VALUES(NULL,"船伙儿","张横");
INSERT INTO t_shuihuo VALUES(NULL,"神行太保","戴宗");
INSERT INTO t_shuihuo VALUES(NULL,"浪里白条","张顺");
INSERT INTO t_shuihuo VALUES(NULL,"拼命三郎","石秀");
INSERT INTO t_shuihuo VALUES(NULL,"浪子","燕青");
修改 UPDATE
select * from 表名称; 慎用,重新加载表#update 表名称 set 字段1=新值 [, 字段2=新值 ...] where 条件update 表名称 set 字段 = 修改值 ; 指定字段修改,改一字段列
update 表名称 set 字段= age + 1 WHERE id = 6; 指定必须是int类型,进行加减,(WHERE id )按照id“字段”主键约束给字段进行修改
UPDATE 表名称 set 字段="120" where age >= 18; where后可以使用">=" "!=" 等
(记对刷新查看)
删除 delete
# delete from 表名称 where 条件;delete from 表名称 where id = 14; 指定id字段进行删除truncate 表名称;-- 慎用!!!
实例:
delete from t_sanguo where id = 1; -- 删除id1
查询
# select * from 表名称
select * from t_user; -- 查看一个表全部“*”代表全部
-- 查询固定的列
select id from t_user; --查看单个字段元素
select id, name from t_user; --查看多个字段列元素SELECT * from t_user where id = 1; -- 查看id=1的元素SELECT * from t_user where age > 15; -- 查看>15的元素
SELECT * FROM t_user where age >= 18 or id = 4; -- 也可以使用关联语句SELECT * from t_user where id != 1;
SELECT * from t_user where id <> 1; -- <> 作用与 != 相同SELECT * FROM t_user WHERE birthday is null; -- 查询空和非空
SELECT * from t_user where birthday IS NOT NULL;
修改表列类型:
ALTER TABLE 表名 MODIFY 列名 列类型; | 修改表列名与类型 |
---|---|
ALTER TABLE 表名 ADD 列名 列类型; | 增加表列 |
ALTER TABLE 表名 DROP 列名; | 删除列 |
ALTER TABLE 表名 CHANGE 旧列名 新列名 列类型; | 列改名 |
ALTER TABLE 表名 RENAME 新表名; 或者RENAME TABLE 表名 TO 新表名; | 更改表名 |
MySQL数据库的单表基本操作(一,SQL语句了解与名著小练习)相关推荐
- Mysql数据库的单表查询
我们在使用Mysql数据库存储数据时,对数据的查询方法是至关重要的,此博客主要介绍Mysql数据库的查询数据方法. 单表查询 单表查询就是我们仅对一个表进行查询,我们可以首先创建一个名为table的表 ...
- java对mysql数据库进行单表筛选备份、还原操作
最近在做的一个项目需要对mysql数据库中的单个表格进行备份 其中,一部分表格需要进行筛选备份(例如对最近插入的1000条记录进行备份) 思路:java调用系统命令完成备份操作 假设现在有数据库tes ...
- mysql数据库之单表查询
单标查询 单表查询语句 关键字执行的优先级 简单查询 where约束 group by 聚合函数 HAVING过滤 order by 查询排序 LIMIT限制查询的记录数 使用正则表达式查询 单表查询 ...
- MYSQL数据库简介和常用的基本SQL语句
1.MYSQL数据库简介 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理. 2.常用数据类型 ...
- MySQL数据库中的索引(含SQL语句)
文章目录 为什么要用索引 索引是什么 索引的原理 优点 缺点 创建索引的原则 什么情况下需要索引 什么情况下不需要索引 索引的分类 主键索引 单值索引 唯一索引 组合索引(复合索引) 全文索引(仅在M ...
- mysql数据库历史语句提取_如何从MySQL数据库的不同表中提取创建语句?
我想通过SHOW CREATE TABLE db.table或SHOW CREATE TABLE db1.mytableor提取我的50个MySQL数据库中的所有创建语句SHOW CREATE TAB ...
- MySQL数据库之单表查询--示例
注释.*.条件查询.as取别名.比较-逻辑-算术运算符. and.or.模糊匹配(%._)--示例 1 /* 2 sql中有三种注释方式: 3 1.#:单行注释 4 2.--:代表单行注释,横杠后面要 ...
- python操作mysql数据库一次执行多条SQL语句
当我们进行接口自动化后会造成许多表造成数据,一条一条删除就得一次又一次的连接数据库~~~废话不多说,直接上干货 导入第三方库的方法 from pymysql.constants import CLIE ...
- mysql关键字使用顺序_MySQL数据库之单表查询中关键字的执行顺序
MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...
最新文章
- 为什么程序员要学GC
- 【BZOJ】2982 combination
- Xcode 6 allows VECTOR image assets… any idea how to use them?
- JQuery学习使用笔记 -- JQuery插件开发
- keepalived实现高可用nginx反向代理的简单案例
- 基于探究式教学法的计算机网络原理课程的教学改革与实践,基于探究式教学法的“计算机网络原理”课程的教学改革与实践分析...
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 24丨找到连续区间的开始和结束数字【难度中等】​
- PostgreSQL统计信息的几个重要视图
- 关于用户自定义控件与引用该控件的页面之间的javascript脚本冲突
- 为什么我特别讨厌语音输入
- EasyClick 调用javaMD5加密
- App低代码开发的最终形态?APICloud可视化开发初体验
- ArchLinux安装配置及美化
- 男人来自火星 女人来自金星(约翰·格雷)
- 恶心的八皇后全解python版
- cpu满载寿命_CPU的使用寿命大概有多少年,多久迭代一次为佳?
- 【转】使用 HTML5 设计辅助功能
- C++ string substr()
- 七彩cms云转码_七彩CMS 2019云转码完全开源版本 程序源码带安装教程
- 【自定义控件】仿支付宝支付动画
热门文章
- 鸿蒙系统基于安卓是什么意思,华为鸿蒙系统基于安卓还是Linux呢?
- 两部门重磅发文:东部高校不得从中西部、东北地区挖人!
- SQLite 数据库安装、创建、增删改查(一)
- i春秋 MISC ReCreators
- HTML+CSS大作业——仿2021淘宝首页(1页) 大学生网页制作教程 表格布局网页模板 学生HTML静态水网页设计作业成品 简单网页制作代码 学生商城网页作品免费设计
- 计算机网络查看命令大全,Windows下查看电脑信息的常用命令整理
- 一文详解,移动应用帮助文档应该怎么设计?
- # 新冠假期 - 实习/面试经历分享(1)
- 工程师读史:张居正和胡林翼的另一面
- 快速排序每一趟的排序过程