mysql常用命令

1.产看服务器内的数据库:

show databases;
2.删除test数据库:
drop database test;
show databases;
3.创建mytest数据库:
create database mytest;
注意:windows与Linux中数据库名与表名的处理是不同的。在windows环境下是不区分大小写的,但是在Linux中是区分的。如table与Table在windows下是同一张表,而在Linux中是两个完全不同的表。为了不至于在不同的环境中产生歧义,所有的数据库名,表明,列明全采用小写字符。
4.创建数据库的专用用户:
创建一个新用户uesr 并且对用户赋予权限:
grant all privileges on mytest.*to   user@localhost identified by "123456"
(all privileges:一次性赋予所有的权限  select 检索、update 更新、delete 删除 、create 创建等等 )
5.显示现在使用的数据库:
select database();
6.创建新表  customer:
create table customer(mid CHAR(5) primary key,name varchar(20),birth data,sex char(1) default '0');
7.创建表时指定字符集 utf-8:
create table customer(mid CHAR(5) primary key,name varchar(20),birth data,sex char(1) default '0')charset=utf-8;
8.显示user用户下所有表:
show tables;
9.显示cutomer表结构:
desc customer;
10.删除表:
drop table cutomer;
11.插入数据:
insert into customer values(‘N001’,‘小花’,‘1991-11-11’,1)
12.查看表数据:
select * from customer;
13.Auto_INCREMENT 自增序列:
AUTO_INCTEMENT用于定义自动增数据列。在MySql中定义自增序列时有三个表要条件。
(1)数据必须为int、tinyint、smallint等整数类型。
(2)定义后附加AUTO_INCTEMENT关键字,表示此列为自增序列。
(3)使用PRIMARY KEY等设置其唯一性。
14.初始化AUTO_INCRENMENT
alter table customer AUTO_INCREMENT=0;
15.导入数据库Mytest
-u root -p Mytest < sampledb.sql
 
16.模糊查询:
select name from customer where name like ‘li%’;
17.NULL条件:
select name,birth from customer where birth=null;(错误)
select name,birth from customer where birth is null;
18.多个条件表达式的组合(查询性别为女性并且生日非空的数据):
select name,birth,sex from customer where sex=‘1’and birth is not null;
19.使用括号优先级(查询1991年以前和2000年一会后的女生数据):
select name,birth,sex from customer where(birth<='1991-01-01' or birth>='2000' ) and sex='1';
20.结果排序(按照性别升序,且生日降序排列):
select * from customer oreder by sex ASC,birth desc;
21.取得指定件数间(m到n之间)的记录(从列表中取出生日最年轻以及第二年轻的成员记录):
select * from customer order by birth desc limit 2;
(原则上limit 语句要与order by同时使用,如果没有指定排序方式,数据库就会随机的顺序抽取出,这事可能会得到的结果不同)
22.数据分组:
select sex,count(mid) from customer group by sex;
23.列的别名:
select sex,count(mid) as cnt from customer group by sex;
注意:count函数并不是单纯地统计件数,而是统计非NULL记录的,birth中有NULL,因此count(birth)数据有变化。所以在用count时候最好选择不含有null值的列,或者就使用特别的count(*)

 

以下是一些 MySQL 常用命令的分类介绍: ### 数据库连接和管理 - 连接 MySQL 服务器:`mysql -h host -u username -p`,其中 `host` 是服务器地址,`username` 是用户名,输入该命令后会提示输入密码 [^1]。 ### 数据库操作命令 - 创建数据库:`CREATE DATABASE database_name;` - 删除数据库:`DROP DATABASE database_name;` - 使用数据库:`USE database_name;` ### 数据表操作命令 - 创建表: ```sql CREATE TABLE table_name ( column1 datatype, column2 datatype, ... ); ``` - 删除表:`DROP TABLE table_name;` - 修改表结构,例如添加列:`ALTER TABLE table_name ADD column_name datatype;` ### 数据查询命令 - 基本查询: ```sql SELECT column1, column2, ... FROM table_name WHERE condition; ``` - 分组查询: ```sql SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING condition; ``` - 排序查询: ```sql SELECT column1, column2 FROM table_name ORDER BY column1 ASC|DESC; ``` - 分页查询:`SELECT * FROM table_name LIMIT offset, count;` [^2] ### 数据修改命令 - 插入数据:`INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);` [^3] - 更新数据: ```sql UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition; ``` - 删除数据: ```sql DELETE FROM table_name WHERE condition; ``` ### 索引管理命令 - 创建索引:`CREATE INDEX index_name ON table_name (column1, column2, ...);` - 删除索引:`DROP INDEX index_name ON table_name;` ### 用户权限管理 - 创建用户:`CREATE USER 'username'@'host' IDENTIFIED BY 'password';` - 授予权限:`GRANT privilege_type ON database_name.table_name TO 'username'@'host';` - 撤销权限:`REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';` ### 备份与恢复 - 备份数据库:`mysqldump -u username -p database_name > backup_file.sql` - 恢复数据库:`mysql -u username -p database_name < backup_file.sql` ### 性能优化命令 - 分析表:`ANALYZE TABLE table_name;` - 优化表:`OPTIMIZE TABLE table_name;` ### 系统信息查看 - 查看 MySQL 版本:`SELECT VERSION();` - 查看当前使用的数据库:`SELECT DATABASE();`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值