mysql 命令大全
#.1 开启和关闭
windows系统
mysqld --console // 开启
mysqladmin -uroot shutdown //关闭
```
linux系统
ps -ef | grep mysqld //检查mysql是否启动
./mysqld_sage & //开启
./mysqldadmin -u root -p shutdown
Enter password: ****** //关闭
```
#.2 mysql连接
创建数据库
创建数据库
create database sqlname;
使用普通用户权限创建数据库 mysqladmin
mysqladmin -u root -p create sqlname
删除数据库
drop database sqlname
使用普通用户权限删除数据库 mysqladmin
mysqladmin -u root -p drop sqlname
选择数据库
use sqlname
mysql数据类型
- 数值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6VM5MReS-1597213185034)(mysql_files/1.jpg)] - 日期
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hYRMwubt-1597213185038)(mysql_files/2.jpg)] - 字符串(字符)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b0dMoyNF-1597213185040)(mysql_files/3.jpg)]
注意: char(n) 和 varchar(n)代表字符的个数,并不代表字节个数.
char(30) 可以存储30个字符
创建数据表
create table tableName ( column_name column_type)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OOcDYRnD-1597213185043)(mysql_files/4.jpg)]
删除数据库表
drop table tableName
插入数据
insert into tableName (field1, field2,...,fieldn)
values (value1,value2,...,valuen)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5TnNqDQZ-1597213185045)(mysql_files/5.jpg)]
读取数据表
select * from tableName ;
// * 表示表中的所有数据 可以写入某个字段的名称进行读取
where子句
select field1, field2,...,fieldn from tableName1, tableName2,...,tableNamen
where condition1 [and [or]] condition2,...
select * from tableName where author="clover"
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZpJ7T8Rd-1597213185046)(mysql_files/6.jpg)]
update 更新
update tableName set field1=new_value, field2=new_value2,..,
[where 条件]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KnXFw5UQ-1597213185047)(mysql_files/7.jpg)]
delete
delete from tableName [where 条件]
union
select column1,column2,... from tableName [where 条件]
union [all | distinct]
select column from tableName union all select column from tableName1
order by column
排序 order by
select field1,..,fieldn from tableName1,..,tableNamen
order by field1 [asc | desc]
group by
select columnName from tableName
where columnName operator value
group by columnName
inner join
select a.columnName1,.. from tableName1,... on a.columnName1 = b.columnName1
左连接
select a.id,... from tableName1,tableName2,..
left join tableName1 b on a.id = b.id
右连接
select a.id,.. from tableName1 a
right join tableName2 b on a.id = b.id
null
select * from tableName where columnName = null
select * from tableName where columnName != null
正则表达式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MdaIpuui-1597213185048)(mysql_files/8.jpg)]
select name from tableName where name REGEXP '^st' //st开头
select name from tableName where name REGEXP 'st$' //st结尾
select name from tableName where name REGEXP 'st' // 包含st
select name from tableName where name REGEXP '^[st]ok$' // 以st开头ok结尾
alter
alter table tableName drop column //删除字段
alter table tableName add column int //添加字段 int类型
alter table tableName modify column char(10) //修改类型
alter table tableName change oldcolumn newcolumn bigint
alter table tableName modify column bigint not null default 100 //修改不是null的默认值
alter table tableName alter column set default 10 //修改默认值
alter table tableName rename to tableName1 //修改表名
索引
创建索引
create index indexName on tableName(username(length))
修改表结构
alter table tableName add index idnexName(columnName)
删除索引
drop index [indexName] on tableName
唯一索引
创建索引
create unique index indexName on tableName(username(length))
修改表结构
alter table tableName add unique [indexName] (username(length))
使用alter添加索引
alter table tableName add index (indexName)
alter table tableName drop index indexName
使用alter添加主键
alter table tableName modify column int not null
alter table tableName add primary key (keyname)
alter table tableName drop primary key
显示所有的索引信息
show index from tableBame \G
如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length
临时表
创建表
create temporary table tableName (
column1 type value,...
)
insert into tableName (column1,column2,..) values (value,,.)
删除表
drop table tableName
select * from tableName
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VBDNNtFF-1597213185049)(mysql_files/9.jpg)]