MySQL基本命令

2020-02-19  本文已影响0人  我思故我在2020

MySQL基本命令

1. 检查 MySQL 服务器是否启动

ps -ef | grep mysqld

2. 启动 MySQL 服务器

cd /usr/bin
./mysqld_safe &

3. 关闭 MySQL 服务器

cd /usr/bin
./mysqladmin -u root -p shutdown
Enter password:******

4. 登录

mysql [-hhost] -uroot -p
Enter password:******

5. 创建用户并授权

create user 'username'@'%' identified by 'password';
grant privileges on databasename.tablename to 'username'@'%';

6. 更改用户密码

set password for 'username'@'%' = PASSWORD('newpassword');

设置当前登录用户密码

set password = PASSWORD('newpassword');

7. 撤销用户权限

revoke privileges on databasename.tablename to 'username'@'%';

8. 删除用户

drop user 'username'@'%';

9. 列出数据库列表

show databases;

10. 选择要操作的数据库

use database;

11. 创建数据库

create database 数据库名;

12. 删除数据库

drop database 数据库名;

13. 显示指定数据库的所有表

show tables;

14. 显示表的列信息

show columns from table;

15. 显示表的索引

show index from table;

16. 创建表

create table 表名 (
    列名 列属性,
    列名 列属性,
    ...
)

例:

create table if not exists `user` (
    `id` int unsigned auto_increment,
    `name` varchar(100) not null,
    `loginName` varchar(100) not null,
    `password` varchar(100) not null,
    `createOn` date,
    primary key (`id`)
)engine=innoDB defalut charset=utf8;

17. 删除表

drop table 表名;

18. 插入数据

insert into 表名 (列1, 列2, 列3, ...列N)
            values 
            ( value1, value2, value3, ...valueN);

18. 查询语句

select 列1, 列2, 列3 from 表名 
[Where 子句] 
[Limit N] 
[Offset M];

使用 Where 子句指定查询条件
使用 Limit 属性设定返回的记录数
使用 Offset 属性设定开始查询的数据偏移量,默认情况下偏移为 0

19. 更新语句

update 表名 set 列1=值1, 列2=值2, 列3=值3 
[Where 子句];

20. 删除语句

delete from 表名
[Where 子句]

21. Like 子句

我们知道,在 Where 子句中可以使用等号=来设定获取数据的条件。但有时我们需要根据一个字段是否含有某子串来获取数据,这个时候就需要用到 Like 子句。
Like子句中使用百分号%来表示任意字符。

Where 列名 Like '%somevalue%'

22. Union 操作符

Union 操作符用来连接两个以上的 Select 语句的结果到一个结果集中,多个 Select 语句会删除重复的数据。

Select expression1, expression2, ... expressionN
from tables
[Where conditions]
Union [ALL | DISTINCT]
Select expression1, expression2, ... expressionN
from tables
[Where conditions]

23. Order By 子句

select field1, field2, ... fieldN from table1, table2 ...
order by field1 [, field2] [ASC [DESC]]

24. Group By 子句

select column_name, function(column_name) 
from table_name
where conditions
Group byb column_name;

25. 在 Where 子句中,如何判断 NULL 值

Where column_name Is NULL
Where column_name is not NULL

26. 正则表达式

我们已经知道,MySQL 可以通过 Like ... % 来进行模糊匹配。
MySQL 同样支持正则表达式的匹配,MySQL 使用 REGEXP 操作符来进行正则表达式的匹配。

Where column_name REGEXP '正则表达式'

27. 连接的使用 (JOIN)

待补充

28. ALTER 命令

修改数据表名或者修改数据表字段

删除字段

alter table 表名 drop 字段名;

添加字段

alter table 表明 add 字段名 字段属性;

修改字段属性

alter table 表名 modify 字段名 新属性;

修改字段名和属性

alter table 表名 change 原字段名 新字段名 新属性;

修改字段默认值

alter table 表名 alter 字段名 set default 默认值;

删除字段默认值

alter table 表名 alter 字段名 drop default;

修改表名

alter table 表名 rename to 新表名;

29. 索引

普通索引

创建

create index 索引名 on 表名(列名(length))

修改表结构(添加索引)

alter table 表名 add index 索引名(列名)

创建表时直接指定

create table mytable (
    id int not null,
    username varchar(16) not null,
    index [索引名] (username(length))
);

删除索引

drop index 索引名 on 表名;

唯一索引

创建

create unique index 索引名 on 表名(列名(length))

修改表结构

alter table 表名 add unique [索引名] (列名(length))

创建表时直接指定

create table 表名 (
    id int not null,
    username varchar(16) not null,
    unique [索引名] (username(length))
);

显示索引信息

show index from 表名;
上一篇下一篇

猜你喜欢

热点阅读