自学mySql 总结

85 阅读3分钟

最近准备丰富自己的知识库,零基础自学mySql,总结了以下实用的命令,并配有简单说明

1. 登录数据库

打开数据库:

在终端根文件夹下输入下面命令,如果不是根文件夹输入“cd ~”返回到根文件夹

/usr/local/mysql/bin/mysql -u root -p

密码是加密的,只需要正确输入回车就可以了,输入密码,进入数据库

2. 显示所有数据库

输入show databases;命令,显示所有数据库

3.查看数据库命令:

mysql> show databases;

会列出默认的所有的数据库

我们来创建我们自己的数据库,命令如下:

create database my_db;

use my_db;* 使用数据库*

进入我们刚刚创建的数据库,我们接着在该数据库中创建一张表。如下命令:

CREATE TABLE User

(

ID int NOT NULL AUTO_INCREMENT,

UserName varchar(255) NOT NULL,

Password varchar(255) NOT NULL,

PRIMARY KEY (ID)

);

参考下面地址:

www.cnblogs.com/tugenhua070…

/ ****** ****** ****** ****** ****** ****** ****** *****

  1. 1.创建数据库:

create database 数据库名称

2.查看所有数据库:

show databases;

3.打开进入数据库:

use 数据库名称

4.查看当前所在的数据库位置:

select database();

5.更改数据库名字 :

alter databases 数据库名称2;

6.更改数据库mydatabase的字符集 :

alter database 数据库名称 charset GBK;

7.删除数据库:

drop database 数据库名称;

//1. 创建表(personId为表名,设置了关键值则不能重复)

create table 表名 (personId int, name varchar(20), gender varchar(10), primary key(personId));

//2. 在表中添加新列

alter table 表名 add age int;

//3.在表中删除列

alter table 表名 drop 字段名;

//4.修改表中的旧字段为新字段

alter table 表名 change 旧字段名 新字段名 数据类型;

//5.将学生表中的number学号字段变成固定长度,且放到第二位。

alter table 表名 modify 字段名 数据类型 [位置];

例:alter table my_student modify number char(10) after id;

//6. 查看表结构信息

desc 表名;

//7. 删除表

drop table 表名;

//8. 复制表

create table 新表名 like 表名;

//9.删除数据表:一次性删除多个表

drop table 表名1,表名2,…… ;

select 100+90; //两个操作数都是数值型,则做正常运算 190

select '123'+90; //只要有一方为字符型,则试图将字符型转化为数值型

//若转换成功,则做正常运算 213

select 'mysql'+90;//若转换失败,则将字符型转换成0,结果为 90

select null+10; //只要有一方为null,结果必为null

//函数: ifnull(参数1,参数2)

若参数1不为null,则返回参数1

如参数1为null,则返回参数2

例如:

select ifnull(字段,0) as 别名 from 表名;

// 查看数据

select * from personInfo; // 查询全部

select * from personInfo where age = 35; // 条件查询

// 插入数据

insert into personInfo (personId, name, gender, age) values (1000, 'devZhang', "male", 35);

// 更新数据

update personInfo set age = 25,name = "uiChen",gender='female' where personId = 1001;

// 删除数据

delete from personInfo where age = 23; //删除

select name as 别名 from 表名; //查询

select distinct name from 表名; //去重查询distinct

select name from 表名 limit 5,2; //查询5条后2条 就是6,7条数据

select name from 表名 limit 5 offset 2; //从第2条后查5条 就是3,4,5,6,7数据

select count(name) from student; ///查询列数 count(*) count(1) 查所有

count() sum() 返回列的和 avg() 返回列的均值 max() 返回最大值 min()返回列的最小值

select name (包含集合函数) from 表名 group by 字段; //分组查询

select name as '姓名' ,count(*) from student group by name;

select name (包含集合函数) from 表名 group by 字段 having 条件;

update 表名 set name='王国三' where 条件; //更新数据

delete from 表名 where 条件; 删除数据 等同于truncate table 表名;

create table 表名1 select * from 表名2;///复制表2

Xnip2023-03-08_10-33-52.png

后续继续上传............