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
- 修改 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数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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)