项目中常用到的,MySQL知识集锦
创建时间:2018-01-14 投稿人: 13357270455 浏览次数:292
每日一笑
一个人正吸着雪茄,吐着烟圈。他女朋友生气了发飙道,“你没看见包装盒上的警告么?吸烟有害健康!”那人回答道:“我是程序员。我们不关心警告,只关心错误。”
小知小慧
前面文章,基本上把MySQL命令行的基础到高级的知识,全部讲完了,今日个我用2篇文章来给大家整理了一下知识~~~
MySQL知识集锦01
SQL格式 | 描述 |
netstat -an|find "端口号" | 检测MySQL服务是否运行,端口号一般为3306 |
mysql -u[帐号] -p[密码] -h[服务IP] | 进入MySQL命令行模式,服务IP可省略、一般为127.0.0.1 |
net start/stop mysql | 开启/关闭MySQL服务,需要进入管理员命令行模式输入 |
mysqladmin -u[帐号] -p[旧密码] password [新密码] | CMD命令行修改MySQL服务登录密码 |
update user set password = password("新密码") where user = "账户" / set password = password("新密码") | 进入MySQL命令行后,才能修改 |
grant [权限] on [能访问到的范围] to [用户名]@localhost identified by [用户密码] with grant option | 1、权限:all privileges(所有权限)、select、insert、delete、update权限,用逗号分隔;2、能访问到的范围:*.*(所有)、数据库名称.*(该数据库中所有表)、数据库名称.*(该数据库中所特定的表);3、with grant option:是指该用户具备什么样的操作权限,如图,该用户具备了【查询】的操作权限,即自己可以有查询操作,也可以分配【查询】权限给其他用户 |
revoke [权限] on [范围] from [用户名]@localhost | 回收用户权限 |
drop user [用户名]@localhost | 删除用户 |
create/drop database [数据库名称] | 创建/删除数据库 |
use [数据库名称] | 使用数据库 |
drop table [表名称] | 删除表 |
desc [表名称]/show columns from [表名称] | 显示表结构信息 |
show databases | 显示所有数据库 |
show tables | 显示所有表 |
select distinct [列名1], [列名2]... from [表名] | 去重 |
select * from [表名] order by asc/desc | 升序/降序 |
not like/like [表达式] | %:>=0个字符,;_:一个字符; |
regexp [表达式] | [一个字符串]:匹配字符串中的任一个字符,例如:regexp [abc];^:非,例如^[abc] |
between [取值] and [取值] | 取值可以为数值、文本、日期 |
as [别名名称] | 一般是字段名或表名或select出来的一套数据的重命名 |
inner (outer) join | 根据检索的条件求交集,outer写不写不影响,可以2个及2个以上表的连接 |
left (outer) join | 根据检索的条件,先查出t1的数据,再匹配t2的数据,匹配成功的数据,放在后面,失败的设为null,可以2个及2个以上表的连接 |
right (outer) join | 和左连接意思相反 |
select [字段名1],[字段名2]... from t1 left join t2 on t1.[字段名] = t2.[字段名] union all select [字段名1],[字段名2]... from t1 right join t2 on t1.[字段名] = t2.[字段名] | 全连接、左连接和右连接结果的合集 |
union | 用于合并2个及2个以上的表连接查询的结果集,且不允许值的重复,其中所有的表必须要有相同数量的列,否则会查询报错,其次,每个表的列的顺序需要相同,否则,虽然能查处结果,但可想而知,一列的数据类型可能会出现多种类型的;如果使用union all则会保留重复的值 |
not null | 一般在创建表的时候,在每个字段的后面就会加上not null后null,来约束该字段的的值是否为空 |
unique | 确定列值的唯一性 |
alter table [表名称] add (constraint [约束名称]) unique ([字段名1],[字段名2]....) | 增加unique约束 |
alter table [表名称] drop index [约束名称] | 删除unique约束 |
show index in [表名称] | 查询约束 |
primary key | 主键,每个表中有且仅有一个,与unique区别在于:每个表有可以有多个unique约束,但primary key约束只能有一个,如上图,Key_name中为primary的名称只会有一个 |
alter table [表名称] add (constraint [约束名称]) primary key ([字段名1],[字段名2]....) | 增加primary key约束 |
alter table [表名称] drop primary key | 删除primary key约束 |
foreign key | 外键,一个表重点的外键指向另一个表中的主键 |
alter table [外键所在表名称] add (constraint [外键约束名称]) foreign key (外键所在表字段名称) peferences [主键所在表名称] (主键所在表字段名称) | 增加foreign key约束、constraint [约束名称]可以不用写 |
create index [索引名称] on [表名] ([列名]) | 创建索引 |
create unique index [索引名称] on [表名] ([列名] [asc(升序) / desc(降序)]) | 创建唯一索引(即创建索引的列不能有相同的值) |
drop index [索引名称] on [表名] 或 alter table [表名] drop index [索引名称] | 删除索引 |
drop from [表名] 或 truncate table [表名称] | 删除表所有数据 |
alter table [表名称] add [列名] [列数据类型] (null/not null、default [默认值]、primary key(等约束)) | 增加列 |
alter table [表名称] drop column [列名称] | 删除列 |
alter table [表名称] modify column [列名] [列数据类型] (null/not null、default [默认值]、primary key(等约束)) | 修改列 |
今天的分享就到这了,希望大家喜欢,能和大家一起学习MySQL知识~~~~
不积跬步,无以至千里;不急小流,无以成江海。每天学一点,大神离你就不远。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。