Mysql基础01-语法

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 statusG                           【查看全部表的引擎,字符集】

show enginesG                             【列出数据库支持的引擎】

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地址                         【删除权限】
update mysql.user set password=password(“新密码”) where user=”root”;      【 修改密码】

数据类型

Mysql基础01-语法

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),必须指定宽度

Mysql基础01-语法

其他类型:bit, xxBlob, 枚举,集合等

运算符

1、算术运算符

加:+
减:-
乘:*
除:/   div(只保留整数部分)
模:%   mod

代码100分

2、比较运算符

代码100分大于:>
小于:<
大于等于:>=
小于等于:>=
等于:=   不能用于null判断
不等于:!= 或 <>
安全等于:<=> 可以用于null值判断

3、逻辑运算符(建议用单词,可读性来说)

逻辑与:&& 或 and
逻辑或:|| 或 or
逻辑非:! 或 not
逻辑异或:^ 或 or

4、范围

代码100分区间范围: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,…);
insert into 表名 values(值列表1),(值列表2)…;
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 条件];

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10502.html

(0)
上一篇 2022-12-26
下一篇 2022-12-26

相关推荐

  • mysql临时表会占用运行内存吗?_临时表空间和表空间有什么区别

    mysql临时表会占用运行内存吗?_临时表空间和表空间有什么区别都说“大隐隐于市,高手在深宫”。突如其来的“摆地摊”风潮,让原本冷清的街道热闹非凡,也让众人发现了那些神龙见首不见尾的大神们。 这不,小毛在下班的途中就遇到了大神“菊长”。一位专治数据库技术相关疑难…

    2023-03-18
    103
  • 用Python编写快速的数据分析程序

    用Python编写快速的数据分析程序在当今数字时代,数据分析已成为一项十分重要的技能,它使得企业能够挖掘内部和外部的重要信息,并为企业提供决策支持。数据分析可以使得企业掌握消费者的购买能力,评估产品和服务的效果,确立最佳的营销战略。随着今天的技术发展,数据分析变得更加简单和快速,Python编程语言是数据分析的主要工具之一。

    2024-02-23
    81
  • Redis5新特性Streams作消息队列

    Redis5新特性Streams作消息队列前言 Redis 5 新特性中,Streams 数据结构的引入,可以说它是在本次迭代中最大特性。它使本次 5.x 版本迭代中,Redis 作为消息队列使用时,得到更完善,更强大的原生支持,其中尤为明显

    2023-02-08
    99
  • 通过SSH通道来访问MySQL「建议收藏」

    通过SSH通道来访问MySQL「建议收藏」许多时候当要使用Mysql时,会遇到如下情况: 1. 信息比较重要,希望通信被加密。2. 一些端口,比如3306端口,被路由器禁用。 对第一个问题的一个比较直接的解决办法就是更改mysql的代码,或者

    2022-12-16
    93
  • python爬虫之三(Python3 爬虫)

    python爬虫之三(Python3 爬虫)链接:

    2023-10-30
    77
  • macbook窗口快捷键_挑战答题

    macbook窗口快捷键_挑战答题SQL sql语句执行顺序 (8) SELECT (9)DISTINCT (1) FROM (3) JOIN

    2023-04-08
    106
  • 线上千万级大表排序优化

    线上千万级大表排序优化前言   大家好我是不一样的科技宅,每天进步一点点,体验不一样的生活,今天我们聊一聊Mysql大表查询优化,前段时间应急群有客服反馈,会员管理功能无法按到店时间、到店次数、消费金额 进行排序。经过排…

    2023-02-03
    109
  • Python Random Shuffle 列表随机打乱

    Python Random Shuffle 列表随机打乱Python Random Shuffle是Python内置的随机打乱列表的函数,适用于插入迭代器到列表中,可以通过随机打乱列表的顺序来增强数据的不确定性。该函数主要有两个参数,一个是需要打乱的列表,另一个是用于随机打乱列表的随机种子。当随机种子不变的情况下,每次随机得到的结果都是相同的,这正好可以用于数据可重现性的情景中。而当随机种子变化时,则可以用于演示统计学上无序的随机数据的情景中。

    2023-12-30
    70

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注