MariaDB(MySQL)的常用命令1 【检索数据】

检索数据

mysql 语法,关键字,最好用大写(和数据库,table,id,信息区分)

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
查看已有用户:
select user,host,password from mysql.user;

使用

linux 我用来当服务器用,使用前需要添加用户

CREATE USER 'myusername'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL ON *.* TO 'myusername'@'%';
#添加myusername到192.168.1.254
GRANT ALL PRIVILEGES ON *.* TO 'myusername'@'192.168.1.254' WITH GRANT OPTION;
#或者这里也可以指定账号
GRANT ALL PRIVILEGES ON *.* TO 'myusername'@'%' WITH GRANT OPTION;
#或者这里也可以指定账号+密码
GRANT ALL PRIVILEGES ON *.* TO ‘myusername’@'%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

windows 我用来当client用

设置下环境变量

MYSQL_PATH
D:\Program Files\mysql-5.7.10-winx64\bin
然后添加到【path】中

#windows 安装后台服务
> mysqld -install
> mysqld -remove
> mysql -h 192.168.1.254 -u myusername -p
enter passowrd【mypassword】

然后就可以使用远程linux的Mysql服务器。

/////////////////////////////下面是一些练习和常用命令

char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)
在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).

所以一般用varchar

http://blog.csdn.net/zjgnl/article/details/8936644

  1. 修改 root 账号的密码

刚安装完成时root账号默认密码为空,此时可以将密码修改为指定的密码。如:123456

//查看本地端口 是否正在监听
netstat -an|grep 3306

service mysql restart//linux 重启服务
service mysql start
service mysql stop
net restart mysql//windows 重启服务
net start mysql
net stop mysql

方法一:

c:>mysql –uroot
mysql>SHOW DATABASES;
mysql>USE mysql;
mysql>UPDATE user SET password=PASSWORD("123456") WHERE user='root';
mysql>FLUSH PRIVILEGES;
mysql>QUIT

方法二:

利用第三方管理工具进行密码修改。如Navicat for MySQL

//////////////////////////////////////////////////////////////////////////////////////////////////

mysql --version

登录
mysql –u root -p
//mysql -h localhost -u scott2 -p; //如果需要 密码,
//默认是空,所以直接Enter 就可以
mysql -h localhost -u scott2;
SHOW DATABASES; //显示 所有数据库
CREATE DATABASE test_db; //create a database
SHOW DATABASES; //显示 所有数据库
SHOW CREATE DATABASE test_db\G;//查看 数据库test_db的定义 和一些信息
DROP DATABASE test_db;//删除 数据库test_db,不能恢复
//=====================================
USE test_db; //使用一个 database
//1.创建 table
CREATE TABLE test_table
(
id INT(11),
name VARCHAR(25),
department INT(11),
salary FLOAT,
);
2.
//2.1 创建 table , 使用 主键约束
//字段名 数据类型 PRIMARY KEY [默认值],
CREATE TABLE test_table
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
department INT(11),
salary FLOAT,
);
//2.2 定义完所有列 之后 ,指定 主键
CREATE TABLE test_table
(
id INT(11),
name VARCHAR(25),
department INT(11),
salary FLOAT,
PRIMARY KEY(id)
);
//多个主键
CREATE TABLE test_table
(
id INT(11),
name VARCHAR(25),
department INT(11),
salary FLOAT,
PRIMARY KEY(id,name,department)
);
3.
//2.创建 table , 使用 外键约束
CREATE TABLE test_table
(
id INT(11),
name VARCHAR(25),
department INT(11),
salary FLOAT,
);
//用sql文件创建table
mysql -h 192.168.1.254 -d testDB -u username -ppassword < createTableStudents.sql
//插入中文字符用'', 字段用char(10) 大小自定义,varchar(10), char定长,varchar不定长,
//varchar最后会有1~2字节的size,如果实际的数据不多,varchar空间效率更高。(比如 地址)
//如果固定的size 比如电话号码,用固定的char cpu效率更高点。

//VARCHAR是可变字符串

CREAT TABLE TEST_TABLE(name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
//这是createTableStudents.sql
create table students
(
id int unsigned not null auto_increment primary key,
name char(8) not null,
sex char(6) not null,
age tinyint unsigned not null,
tel char(13) null default "-"
);
mysql> desc students;//显示table students的表结构。
+-------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| name | char(8) | NO | | NULL | |
| sex | char(6) | NO | | NULL | |
| age | tinyint(3) unsigned | NO | | NULL | |
| tel | char(13) | YES | | - | |
+-------+---------------------+------+-----+---------+----------------+
//插入多个数据的时候,用value 或者values 都可以
//id是自增长的,但是也可以指定,或者更改
insert into students (id,name,sex,age,tel) value (1,'何X','mela',28,157121xxx73);
//可以省略id,会自动增长
insert into students (name,sex,age,tel) value ('小明','mela',27,157121xxx73);
//可以省略前面的key,直接写值
insert into students value ('小明','mela',27,157121xxx73);
//可以直接赋值
insert into students value name= '小明', sex='mela', age=27, tel=157121xxx73;
//显示table [students]中 所有插入的信息
select * from students;
//插入三条数据
mysql> insert into ttt values(001,'tom', 1101, 999999.1111);
mysql> insert into ttt values(002,'shelton', 1101, 999999.1111);
mysql> insert into ttt values(003,'linken', 1101, 999999.1111);
=====================================================
help show;//显示所有的show命令
show status;//显示服务器信息
//mysql查看表结构命令,如下:
desc 表名;
describe 表名;
show columns from 表名;
//显示表结构 + 存储引擎 + 字符集
show create table 表名;
use information_schema
//查询数据
mysql> select * from ttt;
//删除数据库
drop database studnetDB;
//删除table
drop table
//删除数据
delete from ttt where id=3;
顺便记下:
show databases;
use 数据库名;
show tables;

显示表中的信息

//显示表中的所有信息
select * from students;
//所有单列column 信息
select name from students;
//所有多列columns 信息
select id,name,tel from students;
//所有columns 信息,去掉重复的信息(比如lily,lucy是双胞胎,列出家访地址:就只要一个地址就可以)
select dinstnct addressInfo from students;
//都是从第20行开始, 列出5条信息。 (index 从0开始)
SELECT id FROM LIMIT 20,5;
SELECT id FROM LIMIT 5 OFFSET 20;
//完全限定表名
SELECT students.id FROM students;
SELECT students.id FROM testDB.students;
注释
#xxxx
/* xxxx */
//原有一unique索引AK_PAS_Name(PAC_Name)在表tb_webparamcounter中,
//执行以下sql修改索引
alter table tb_webparamcounter drop index AK_PAS_Name;
alter table tb_webparamcounter add UNIQUE AK_PAS_Name(PC_ID,PAC_Name);
//若发现索引的逻辑不对,还需要再加一个字段进去,执行
alter table tb_webparamcounter drop index AK_PAS_Name;
alter table tb_webparamcounter add UNIQUE AK_PAS_Name(PC_ID,PAC_Name,PAC_Value);
//注意:这时的PC_ID,PAC_Name,PAC_Value三个字段不是FOREIGN KEY
//否则必需先drop FOREIGN KEY,再重做上一步才行
//顺便提下oracle
select * from v$database;
select * from all_users;
select * from user_tables;

mysqldump [options] |gzip ->mysqldump-$(date +%Y-%m-%d-%H.%M.%S).gz 转存mysql数据库 ​​​​

posted @   scott_h  阅读(2028)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示