Mysql基础01-语法
数据库
数据的存储:将数据放到表中,表再放到库中。
一个数据库中可以有多个表,每个表都有一个名字,用来标识自己。表名具有唯一性。
表由列组成,我们也称为字段。每个字段描述了它所含有的数据的意义表由列组成,我们也称为字段。每个字段描述了它所含有的数据的意义
表中的数据是按行存储的,一行即为一条记录。
MySQL下载安装略过
MySQL设置命令
net start MySQL服务名 【服务启动】
net stop MySQL服务名 【服务停止】
mysql -u root -p 【进入数据库】
mysql -h 主机IP地址 -P 端口号 -u 用户名 -p回车
Enter Password:密码
除了-p与密码之间不要空格外,其他的-h,-P,-u与后面的参数值之间可以有空格
exit; 【 退出】
mysqldump -h主机地址 -P端口号 -u用户名 -p密码 --database 数据名 > 文件路径/文件名.sql 【单个数据库备份】
source sql脚本路径名.sql 【导入执行备份的sql脚本】
show create table 表名; 【查看表的引擎,字符集】
show table status\G 【查看全部表的引擎,字符集】
show engines\G 【列出数据库支持的引擎】
alter table 表名 engine=引擎名; 【修改表引擎】
show create database 数据库名; 【 查看字符集】
create database 表名 character set (gbk); 【修改表字符集】
show character set; 【查看字符集校队】
DCL 数据控制
flush privileges; 【刷新权限】
create user '用户名' @'IP地址' identified by '密码'; 【 创建新用户】
grant 权限1,... on 数据库名.* to 用户名 @ IP地址; 【用户授权】
[update,instert,delete...权限名]
revoke 权限1,... on 数据库名.* from 用户名 @IP地址; 【撤销权限】
所有的数据库 就用*.* 所有的权限 就用all
show grants for 用户名 @IP 地址 【查看权限】
drop user 用户名 @IP地址 【删除权限】
数据类型
int(M),必须和unsigned zerofill一起使用才有意义
浮点型系列:float,double
double(M,D):表示最长为M位,其中小数点后D位
定点型系列:decimal
decimal(M,D):表示最长为M位,其中小数点后D位
字符串类型:char,varchar(M),text
char如果没有指定宽度,默认为1个字符
varchar(M),必须指定宽度
其他类型:bit, xxBlob, 枚举,集合等
运算符
1、算术运算符
加:+
减:-
乘:*
除:/ div(只保留整数部分)
模:% mod
2、比较运算符
大于:>
小于:<
大于等于:>=
小于等于:>=
等于:= 不能用于null判断
不等于:!= 或 <>
安全等于:<=> 可以用于null值判断
3、逻辑运算符(建议用单词,可读性来说)
逻辑与:&& 或 and
逻辑或:|| 或 or
逻辑非:! 或 not
逻辑异或:^ 或 or
4、范围
区间范围:between x and y
not between x and y
集合范围:in (x,x,x)
not in(x,x,x)
5、模糊查询(只针对字符串类型,日期类型)
like 'xxx'
如果想要表示0~n个字符,用%
如果想要表示确定的1个字符,用_
6、位运算符(很少使用)
左移:<<
右移:>>
按位与:&
按位或:|
按位异或:^
7、特殊的null值处理
#(1)判断时
xx is null
xx is not null
xx <=> null
#(2)计算时
ifnull(xx,代替值) 当xx是null时,用代替值计算
字段修饰符
unsigned (无符号)
zerofill (使用0填充)
default (默认值)
comment (字段解释说明)
not null (非空)
null (空)
unique (唯一索引)
index (普通索引)
primary key (主键)
auto_increment (自增)
as (别名)
语法规范和要求
(1)mysql的sql语法不区分大小写
MySQL的关键字和函数名等不区分大小写,但是对于数据值是否区分大小写,和字符集与校对规则有关。
ci(大小写不敏感),cs(大小写敏感),_bin(二元,即比较是基于字符编码的值而与language无关,区分大小写)
(2)命名时:尽量使用26个英文字母大小写,数字0-9,下划线,不要使用其他符号
(3)建议不要使用mysql的关键字等来作为表名、字段名等,如果不小心使用,请在SQL语句中使用`(飘号)引起来
(4)数据库和表名、字段名等对象名中间不要包含空格
(5)同一个mysql软件中,数据库不能同名,同一个库中,表不能重名,同一个表中,字段不能重名
(6)标点符号:
必须成对
必须英文状态下半角输入方式
字符串和日期类型可以使用单引号'
列的别名可以使用双引号""
如果列的别名没有包含空格,可以省略双引号,如果有空格双引号不能省略。
(7)SQL脚本中如何加注释
单行注释:#注释内容
单行注释:--空格注释内容 其中--后面的空格必须有
多行注释:/* 注释内容 */
DDL 数据定义
show databases; 【查看所有数据库】
use (dataname); 【切换使用数据库】
create database (dataname); 【创建数据库】
create database 数据名 charset 'utf8';
drop database (dataname); 【删除数据库】
--------------------------------------------
show tables ;
show tables from 数据库名; 【查看所有表格】
create table [数据名.]表名(
字段名1 数据类型 修饰符,
字段名2 数据类型 修饰符,
); 【创建表格】
drop table [数据库名.]表名称; 【删除表格】
describe [数据库名.]表名称;
desc [数据库名.]表名称; 【查看表结构】
alter table 旧表名 rename 新表名;
rename table 旧表名 to 新表名; 【修改表名称】
------------------------------------------------------
alter table 表名 add 字段名 字段类型 字段修饰; 【添加字段】
alter table 表名 add 字段名 字段类型 字段修饰 first; 【添加字段在首位】
alter table 表名 add 字段名 字段类型 字段修饰 after 字段名; 【添加新字段,并定位】
alter table 表名 drop 字段名; 【删除字段】
alter table 表名change 旧字段名 新字段名 字段类型 字段修饰; 【修改字段名】
alter table 表名 modify 字段名 字段类型 字段修饰; 【修改字段类型及修饰】
alter table 表名 modify 字段名 字段类型 字段修饰 first; 【修改字段类型设首位】
alter table 表名 modify 字段名 字段类型 字段修饰 after 字段名; 【修改字段类型并定位】
DML 数据操作
insert into 表名 values(值1,2,...) 【各列必须以它们在表定义中出现的次序填充】
insert into 表名 (字段名1,2...) values(值1,2,...); 【VALUES必须以其指定的次序匹配指定的列名】
insert into 表名 values(值列表1),(值列表2)...; 【INSERT还存在另一种形式,可以利用它将SELECT语句的结果插入表中,这就是所谓的INSERT SELECT。】
insert into 表名 (部分字段列表) values(值列表1),(值列表2)...; 【添加数据】
update 表名 set 被修改字段=值,...[多个,号隔开] where (id=1); [判断条件id=1] 【修改数据】(如果没有加where条件,表示修改所有行,这个字段的值)
delete from 表名 where id=1; [判断条件id=1] 【删除数据】(如果没有where条件,表示删除整张表的数据;)
truncate 表名;
truncate速度快、truncate无法回滚
--------------------------------------------------------
select * from [数据库名.]表名; 【查询整张表所有数据】
select 字段列表 from [数据库名.]表名; 【查询部分列表】
select * from [数据库名.]表名 [where 条件];
select 字段列表 from [数据库名.]表名 [where 条件];
SQL语句整理版
Mysql基础01-语法的更多相关文章
- mysql基础知识语法汇总整理(二)
mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...
- mysql基础知识语法汇总整理(一)
mysql基础知识语法汇总整理(二) 连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...
- mysql基础查询语法
一.mysql查询的五种子句 where子句(条件查询):按照“条件表达式”指定的条件进行查询. group by子句(分组):按照“属性名”指定的字段进行分组.group by子句通常和count( ...
- MYSQL基础01(新增,修改,删除)
首先说明一下,本人之前一直都是用MSSQL,由于工作原因,每天写上百条sql语句,并持续了几年;由于换了工作目前主要接触的MYSQL;所以现在开始学习MYSQL. 我的学习计划很简单,我在MSSQL使 ...
- MySQL基础~~编程语法
常量 数值 字符串:单引号或者双引号括起来.包括普通字符串或者日期格式的字符串. 布尔值:false(FALSE)对应数字值为0.true(TRUE)对应数字值为1. NULL:可以参考http:// ...
- mysql 基础sql语法总结(一)DDL
mysql数据库: SQL数据库语言可分为四部分: 1.DDL:对数据库或表的进行操作结构操作 2.DML:对表的记录进行更新(增.删.改)* 3.DQL:对表的内容进行查询 **(重难点) 4.DC ...
- mysql 基础sql语法总结 (二)DML
二.DML(增.删.改) 1)插入数据 第一种写法:INSERT INTO 表名 (列名1,列名2,,......)VALUES(列值1,列值2,......) 第二种写法:INSERT INTO 表 ...
- 【转】mysql基础汇总
mysql基础知识语法汇总整理(二) 原文:https://www.cnblogs.com/cxx8181602/p/9525950.html 连接数据库操作 /*连接mysql*/ mysql - ...
- 01 mysql 基础一 (进阶)
mysql基础一 1.认识mysql与创建用户 01 Mysql简介 Mysql是最流行的关系型数据库管理系统之一,由瑞典MySQLAB公司开发,目前属于Oracle公司. MySQL是一种关联数据库 ...
- mysql 基础篇5(mysql语法---数据)
6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...
随机推荐
- Vue基础系列(四)——Vue中的指令(上)
写在前面的话: 文章是个人学习过程中的总结,为方便以后回头在学习. 文章中会参考官方文档和其他的一些文章,示例均为亲自编写和实践,若有写的不对的地方欢迎大家和我一起交流. VUE基础系列目录 < ...
- 网站搭建-虚拟机的使用-Linux (包括输入法和QQ下载使用)
之前已经联网了,基本的软件系统会自己下载,先不用管. 1. 先下载一个中文输入法吧: 先改一下Firefox的搜索引擎吧,因为大陆不支持google 下载,安装,就完事了,还好这个没变,几年不用这个系 ...
- [LC]237题 Delete Node in a Linked List (删除链表中的节点)(链表)
①中文题目 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 示例 1: 输入: hea ...
- nyoj 366 D的小L (全排列)
D的小L 时间限制:4000 ms | 内存限制:65535 KB 难度:2 描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给 ...
- 力扣(LeetCode)环形链表 个人题解
给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. 示例 1: 输入: ...
- android逆向总结
首先项目里的java文件,以及项目引用到的第三方jar或aar包里面的class,统统都编译成classes.dex放在apk包的根目录,项目的资源目录和AndroidManifest.xml被处理生 ...
- (三十五)golang--面向对象之多态
多态:变量具有多种形态,可以用统一的接口来调用不同的实现. 接口体现多态特征: (1)多态参数:之前所讲的Usb接口案例,既可以接受手机变量,也可以接受相机变量,就体现了usb接口的多态: (2)多台 ...
- Git的使用和基本概念理解
参考:https://www.liaoxuefeng.com/wiki/896043488029600 一).git的使用: 1.创建版本库(Resopsitory),相当于一个目录,目录中所有的文件 ...
- zip的压缩和解压命令
以下命令均在/home目录下操作cd /home #进入/home目录 1.把/home目录下面的data目录压缩为data.zip zip -r data.zip data #压缩data目录 ...
- 带你涨姿势的认识一下 Kafka 消费者
之前我们介绍过了 Kafka 整体架构,Kafka 生产者,Kafka 生产的消息最终流向哪里呢?当然是需要消费了,要不只产生一系列数据没有任何作用啊,如果把 Kafka 比作餐厅的话,那么生产者就是 ...