当前位置: 首页 > news >正文

MySQL数据库笔记

基本篇:DDL(数据定义语言)

--CREATE 创建

--DROP 删除

--ALTER 更改

黑窗口:
停止MySql:net stop mysql
启动MySql:net start mysql
masql -hlocalhost(主机) -p3306(端口) -u root(用户)-p(密码)

SQL通用语法
1.SQL语句可以单行或多行书写,以分号结尾。
2. SQL语句可以使用空格/缩进来增强语句的可读性。
3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
4.注释:
·单行注释:--注释内容或#注释内容(MySQL特有)
·多行注释:/*注释内容*/

SQL分类

DDL    Data Definition Language
数据定义语言,用来定义数据库对象(数据库,表,字段)
DML    Data Manipulation Language
数据操作语言,用来对数据库表中的数据进行增删改
DQL    Data Query Language
数据查询语言,用来查询数据库中表的记录
DCL    Data Control Language
数据控制语言,用来创建数据库用户、控制数据库的访问权限

DDL-数据库操作
查询select
    1.查询所有数据库:show databases;
    2.查询当前数据库:select database();
创建create
    1.create database 数据库名 字符集 排列规则;
删除drop
    1.drop database 数据库名;
使用use
    1.use 数据库名;

DDL-表结构-查询

查询当前数据库所有表:SHOW TABLES(show tables);
查询表结构:DESC(desc)表名;
查询指定表的建表语句:SHOW CREATE TABLE(show create table)表名;

DDL-表操作-创建
CREATE TABLE(create table)表名(
字段1字段1类型[ COMMENT(comment)字段1注释],
字段2字段2类型[COMMENT字段2注释],
字设3字段3类型[COMMENT 字段3注释],
字段n字段n类型[COMMENT字段n注释]    (最后一个没逗号)
) [ comment表注释];

修改表(alter table)
修改表名:alter table 旧表名 rename as(to) 新表名
添加字段:alter table 表名 add 字段名  列类型[属性]
修改字段:alter table 表名 modify 字段名 列类型[属性]---修改字段数据类型
    alter table 表名 change 旧字段名 新字段名 列类型[属性]--修改字段名称
删除字段:alter table 表名 drop 字段名

删除表
drop table 表名

数值类型(常用):tinyint   int   double
字符串类型:char[m] 固定长字符串 [0-255]  varchar[0-65535]  text  文本串
日期和时间数值类型: datetime  YY-MM-DD hh:mm:ss

数据字段属性:
unsigned :无符号的,声明不允许负数
zerofill:不足位数用0填充
auto_increment:自动增长
null 和not null:默认null
defaule:默认的

增,删,改:DML(数据操作语言)

--insert 添加,插入
--update 更新,修改
--delete 删除

insert添加命令:
insert into 表名(字段1,字段2)
values('值1','值2');可同时插入多条数据,values后用英文逗号隔开

update修改数据
update命令:
update 表名 set 修改的字段=修改的值  
where 字段(约束字段)
    value 为修改后的数据,可以为变量、具体值、表达式或者嵌套的select结果

delete 删除命令
delete from 表名 where condition
condition为筛选条件,如不指定则删除该表的所有列数据
区别与:truncate命令,用于完全清空表数据,但表结构,索引,约束等不变
truncate  [table] table_name
相同:
都能删除数据、不删除表结构,但truncate 速度更快
不同:
使用truncate table重新设置AUTO_INCREMENT计数器
使用TRUNCATE TABLE不会对事务有影响

相关文章:

  • 基于SSM的高校餐厅防疫管理系统
  • y118.第七章 服务网格与治理-Istio从入门到精通 -- Istio流量治理快速入门(四)
  • Linux | 性能问题排查
  • 【微服务容器化】第二章-Docker常用命令
  • 慧差\畸变 zemax示例
  • 硬件控制方法
  • 【单细胞高级绘图】08.细胞通讯_两组比较_气泡图
  • java计算机毕业设计基于安卓Android/微信小程序的校园报修管理APP
  • Mysql 的安装
  • 8.【外部排序】基本概念和方法 + 优化:【败者树】{减少关键字对比次数}、【置换-选择 排序】{减少初始归并段数量}、【最佳归并树】{谁先合并更快}
  • Python装饰器通俗理解
  • 1516. 移动 N 叉树的子树 DFS
  • 【计算机图形学】高级外观建模
  • 阿里云dataworks中业务流程中问题(odps2)
  • 数据库基础小练习
  • Google 是如何开发 Web 框架的
  • 【React系列】如何构建React应用程序
  • 3.7、@ResponseBody 和 @RestController
  • django开发-定时任务的使用
  • ES6--对象的扩展
  • Java比较器对数组,集合排序
  • React组件设计模式(一)
  • STAR法则
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • XML已死 ?
  • 官方解决所有 npm 全局安装权限问题
  • 机器学习学习笔记一
  • 聚类分析——Kmeans
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 如何优雅地使用 Sublime Text
  • 深度学习中的信息论知识详解
  • 使用Gradle第一次构建Java程序
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 移动端唤起键盘时取消position:fixed定位
  • 在Mac OS X上安装 Ruby运行环境
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • ​虚拟化系列介绍(十)
  • # 数论-逆元
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • $refs 、$nextTic、动态组件、name的使用
  • (AngularJS)Angular 控制器之间通信初探
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (接口自动化)Python3操作MySQL数据库
  • (六)vue-router+UI组件库
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (十五)使用Nexus创建Maven私服
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)Sql Server 保留几位小数的两种做法
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (总结)Linux下的暴力密码在线破解工具Hydra详解