#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相关推荐

  1. MySQL数据库学习日志(六):索引和视图

    MySQL数据库学习日志(六):索引和视图 MySQL数据库学习日志(六):索引和视图 索引 (一)索引概述 (二)优缺点 (三)分类 1. 按照底层实现的方式 2. 按照功能划分 普通索引 唯一索引 ...

  2. MySQL菜鸟学习笔记

    MySQL由瑞典MySQL AB公司开发,目前属于Oracle公司. 冗余(redundancy):存储两倍数据,冗余降低了性能,但提高了数据安全性. 参照完整性(referential integr ...

  3. 认真学习MySQL的事务日志-Redo日志

    事务有4种特性:原子性.一致性.隔离性和持久性.那么事务的四种特性到底是基于什么机制实现呢? 事务的隔离性由锁机制执行. 事务的原子性.一致性和持久性由事务的redo日志和undo日志来保证. red ...

  4. MySQL 索引学习笔记

    MySQL 索引学习笔记 索引基本概念 索引优点 B-Tree 索引 基本原理 使用场景 使用限制 哈希索引 基本原理 使用限制 自适应哈希索引 处理哈希冲突 相关面试题 高性能索引策略 独立的列 前 ...

  5. 菜鸟学习Docker实例

    菜鸟学习Docker实例 说明 一.Tomcat (1)安装 (2)使用 二.Mysql (1)安装 (2)使用 (3)可能遇到的错误 三.Redis (1)安装 (2)使用 四.JDK (1)安装 ...

  6. 干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾!

    阿里云   干货!一篇文章集合所有Linux基础命令,适合所有菜鸟学习和老手回顾! 1 文件{ ls -rtl # 按时间倒叙列出所有目录和文件 ll -rt touch file # 创建空白文件 ...

  7. mysql慢查询日志平时开启吗_MySQL开启慢查询日志功能的方法

    mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里是否有很耗费资源的sql语句,这是一个有用的日志.它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失 ...

  8. MySQL服务器学习笔记!(二) ——数据库各项操作

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://foreveryan.blog.51cto.com/3508502/657640 ...

  9. 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——第1章 系统•嵌入•硬件 01-01 Welcome on board!...

    本节书摘来自异步社区<嵌入式系统开发之道--菜鸟成长日志与项目经理的私房菜>一书中的第1章,第01-01节,作者 邱毅凌,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  10. python爬虫实训日志_Python学习学习日志——爬虫《第一篇》(BeautifulSoup)

    爬虫简介(学习日志第一篇) 一.爬虫介绍 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Pyyhon爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.U ...

最新文章

  1. typedef和define一些问题
  2. 1、LeetCode784 字母大小写全排列
  3. linux支持表情的字体,让应用程序支持emoji字符
  4. Java在开发中应注意的问题_Java设计编程应该注意的几个问题
  5. 云效故障定位研究论文被ICSE 2021 SEIP track收录
  6. 网络协议入门(OSI七层和TCP/IC四层协议)
  7. iOS 5.0.1完美越狱教程
  8. python的matplotlib的函数_在Python中使用matplotlib绘制条件函数
  9. SAP License:SAP的联产品和副产品
  10. 如何实现vue前端跨域,proxyTable解决开发环境前端跨域问题
  11. 图书管理系统【C++】
  12. NumberFormat格式化数字
  13. tomcat部署,js中文乱码
  14. MIPI.DSI.LCD點屏筆記_AT070TN92(800x480)_THC63LVDF84B_深圳富元智FX6
  15. win7 任务栏图标计算机,电脑系统win7怎么修改任务栏的图标
  16. 卷积神经网络结构相关
  17. js获取字符串字符数和字节数,注意:区分字符串字符数和字节数(编程环境UTF-8的情形)
  18. PS - 蓝色发光字
  19. [JavaWeb实训Day3]__button_框架布局点击事件
  20. 基于51单片机的智能火灾报警系统

热门文章

  1. 蚂蚁安全键盘空白或应该显示安全键盘却显示的系统键盘的问题(iOS中时间佛历如何转换为公历)
  2. 人脸识别可视化项目实现过程Bug记录
  3. 用网盘和git来管理资源
  4. Android中关于libs和JniLibs的各种坑
  5. android7工程自测模式,工程模式测试
  6. cogs1570 KMP hash
  7. 不支持虚拟化的cpu如何开VM虚拟机(不支持,即“主机不支持Intel VT-x,不是支持Intel VT-x,但Intel VT-x禁处于禁用状态!!!!!!)
  8. 修改电脑IP地址和MAC地址
  9. 利用requests库和BeautifulSoup库爬取链家二手房的基本数据
  10. @Required注解