MySQL菜鸟学习日志——0001
#MySQL基本命令
通过mysql -u root -p 来启动mysql
show databases ; //查看当前实例下包含多少个数据库
create database [IF NOT EXISTS] 数据库名 ; // 创建新的数据库
drop database 数据库名 ; //删除指定数据库
use 数据库名 ; //进入指定数据库
show tables ; //进入数据库后查询该数据库下包含多少个数据表
desc 表名 ;// 查看指定数据表的表结构
show create table 表名;//观看建表语言
登陆mysql的命令:
mysql -p 密码 -u 用户名 -h 主机名 --default-character-set=utf8
退出关闭mysql:
quit;
exit;
##数据库对象
对象名称 | 对应关键字 | 描述 |
---|---|---|
表 | table | 表是储存数据的逻辑单元,以行和列的形式存在 |
数据字典 | 系统表,存放数据库相关信息 | |
约束 | constraint | 执行数据校验的规则 |
视图 | view | 一个或多个数据表里数据的逻辑显示 |
索引 | index | 用于提高查询性能,相当于书的目录 |
函数 | function | 用于完成一次特定的计算,具有一个返回值 |
存储过程 | procedure | 用于完成一次完整的业务处理,没有返回值,但可以通过传出参数将多个值传给调用环境 |
触发器 | trigger | 相当于一个事件监听器 |
##查询语句
1.DDL(数据定义语言)语句
create 创建表的语法
create table [模式名.]表名
(#可以有多个列定义colunmnName1 datatype [default expr],...
);
例如
create table heros
(hero_id int auto_increment primary key,hero_name varchar(255) unique,mainkind enum ('strength' , 'agility' , 'wit'),strength int default '10' not null,agility int default '10' not null,wit int default '10' not null,health int default '200',magic int ,armor int ,hero_increasement int,foreign key(hero_increasement) references heros(hero_id)
);
alter 修改表结构的语法
alter table 表名
add
(#可以有多个列定义column_name1 datatype [default expr],...
);
例如
alter table heros
add
(move_speed int default '100' not null
);修改列定义的语法
alter table 表名
modify column_mane datatype [default expr] [first|after col_name];例如
alter table heros
modify name varchar(255);删除列的语法
alter table 表名
drop column_name例如
alter table heros
drop name;重命名数据表的语法
alter table 表名
rename to 新表名例如
alter table heros
rename to dota_heros;改变列名的语法
alter table 表名
change old_column_name new_column_name type [default expr] [first|after col_name]例如
alter table heros
change blood health int ;
drop 删除表的语法
drop table 表名; 例如
drop table heros;
turncate 清空表中所有数据
turncate 表名;
2.DML(数据操作语言)语句
insert into
用于向指定数据表中插入记录,语法格式如下
insert into table_name[(column [,column ...])]
values(value [,value...]);
例如
insert into heros(hero_name)
value('axe');
insert into heros
value(null ,'nax' ,'agility',14,18,17,560,380,4,300);
mysql可以一次插入多条记录
insert into heros(heros_name)
value('rabick' ),
('pugna');
updata
用于修改数据表的记录,每次可以修改多条,通过使用where子句限定修改哪些记录。
update table_name
set column1 = value[,column2 = value2 ]...
[WHERE condition];
例如
update heros
set strength = 381
where hero_name = 'nax';
delete from
用于删除指定数据表的记录,整行删除。可用where语句指定删除多行。
delete from table_name
[where condition];
例如
delete from heros
where hero_name = 'pugna';
3.DCL(数据控制语言)语句
grant
revoke
4.事物控制语句
commit
rollback
savepoint
##数据库约束
not null非空约束
非空约束,指定某列不能为空
alter table heros
add wit int not null;
可以修改表的时候删除非空约束
alter table heros
modify wit int null;
unique唯一约束
唯一约束,制定某列或者几列组合不能重复
虽然不能出现重复值,但是null可以重复(null≠null)
alter table heros
add hero_name varchar(255) unique;
或者
alter table heros
modify unique(hero_name);
primary key主键约束
主键约束,制定该列的值可以唯一地标识该条记录
主键约束等于非空约束加唯一约束
每个表中最多允许有一个主键,但是这个主键可以由多个数据列组成
create table heros
(hero_num int ,hero_name varchar(255),primary key (hero_num , hero_name)
);
主键列支持自增长特性,通过关键字auto_increment添加
foreign key外键约束
外键约束,指定该行记录从属于主表中的一条记录(主表中的主键)
create table last_skill
(skill_name varchar(255) primary key
);create table rubick
(steal_skill varchar(255),foreign key(steal_skill) references last_skill(skill_name)
);
外键约束不仅可以参照其他表,而且可以参照自身
create table heros
(strength int primary key,health int ,foreign key(health) references heros(strength)
);
###check约束
检查,mysql暂不支持
###删除约束
首先在定义约束时建立约束名
如在唯一约束中
create table heros
(hero_name varchar(255) unique,constraint name unique(hero_name)
);
mysql中总是将主键约束命名为primary
MySQL菜鸟学习日志——0001相关推荐
- MySQL数据库学习日志(六):索引和视图
MySQL数据库学习日志(六):索引和视图 MySQL数据库学习日志(六):索引和视图 索引 (一)索引概述 (二)优缺点 (三)分类 1. 按照底层实现的方式 2. 按照功能划分 普通索引 唯一索引 ...
- MySQL菜鸟学习笔记
MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司. 冗余(redundancy):存储两倍数据,冗余降低了性能,但提高了数据安全性. 参照完整性(referential integr ...
- 认真学习MySQL的事务日志-Redo日志
事务有4种特性:原子性.一致性.隔离性和持久性.那么事务的四种特性到底是基于什么机制实现呢? 事务的隔离性由锁机制执行. 事务的原子性.一致性和持久性由事务的redo日志和undo日志来保证. red ...
- MySQL 索引学习笔记
MySQL 索引学习笔记 索引基本概念 索引优点 B-Tree 索引 基本原理 使用场景 使用限制 哈希索引 基本原理 使用限制 自适应哈希索引 处理哈希冲突 相关面试题 高性能索引策略 独立的列 前 ...
- 菜鸟学习Docker实例
菜鸟学习Docker实例 说明 一.Tomcat (1)安装 (2)使用 二.Mysql (1)安装 (2)使用 (3)可能遇到的错误 三.Redis (1)安装 (2)使用 四.JDK (1)安装 ...
- 干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾!
阿里云 干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾! 1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 ...
- mysql慢查询日志平时开启吗_MySQL开启慢查询日志功能的方法
mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里是否有很耗费资源的sql语句,这是一个有用的日志.它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失 ...
- MySQL服务器学习笔记!(二) ——数据库各项操作
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://foreveryan.blog.51cto.com/3508502/657640 ...
- 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——第1章 系统•嵌入•硬件 01-01 Welcome on board!...
本节书摘来自异步社区<嵌入式系统开发之道--菜鸟成长日志与项目经理的私房菜>一书中的第1章,第01-01节,作者 邱毅凌,更多章节内容可以访问云栖社区"异步社区"公众号 ...
- python爬虫实训日志_Python学习学习日志——爬虫《第一篇》(BeautifulSoup)
爬虫简介(学习日志第一篇) 一.爬虫介绍 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Pyyhon爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.U ...
最新文章
- typedef和define一些问题
- 1、LeetCode784 字母大小写全排列
- linux支持表情的字体,让应用程序支持emoji字符
- Java在开发中应注意的问题_Java设计编程应该注意的几个问题
- 云效故障定位研究论文被ICSE 2021 SEIP track收录
- 网络协议入门(OSI七层和TCP/IC四层协议)
- iOS 5.0.1完美越狱教程
- python的matplotlib的函数_在Python中使用matplotlib绘制条件函数
- SAP License:SAP的联产品和副产品
- 如何实现vue前端跨域,proxyTable解决开发环境前端跨域问题
- 图书管理系统【C++】
- NumberFormat格式化数字
- tomcat部署,js中文乱码
- MIPI.DSI.LCD點屏筆記_AT070TN92(800x480)_THC63LVDF84B_深圳富元智FX6
- win7 任务栏图标计算机,电脑系统win7怎么修改任务栏的图标
- 卷积神经网络结构相关
- js获取字符串字符数和字节数,注意:区分字符串字符数和字节数(编程环境UTF-8的情形)
- PS - 蓝色发光字
- [JavaWeb实训Day3]__button_框架布局点击事件
- 基于51单片机的智能火灾报警系统
热门文章
- 蚂蚁安全键盘空白或应该显示安全键盘却显示的系统键盘的问题(iOS中时间佛历如何转换为公历)
- 人脸识别可视化项目实现过程Bug记录
- 用网盘和git来管理资源
- Android中关于libs和JniLibs的各种坑
- android7工程自测模式,工程模式测试
- cogs1570 KMP hash
- 不支持虚拟化的cpu如何开VM虚拟机(不支持,即“主机不支持Intel VT-x,不是支持Intel VT-x,但Intel VT-x禁处于禁用状态!!!!!!)
- 修改电脑IP地址和MAC地址
- 利用requests库和BeautifulSoup库爬取链家二手房的基本数据
- @Required注解