Linux——MySQL
2026/6/15 14:13:53 网站建设 项目流程

数据库的基本概念:

1.什么是数据库?

用于存储和管理数据的仓库

2.数据库的特点?

1)持久化存储数据的,其实数据库就是一个文件系统

2)方便存储和管理数据库

3)使用了统一的方式操作数据库——SQL

3.常见的数据库软件

Oracle数据库:大型数据库

MySQL:小型数据库

DB2:常用在银行系统

SQLServer:中型数据库

SQLite:嵌入安卓手机

4.windows和Linux使用mysql的不同之处

操作Windows(CMD)Linux(终端)
启动 MySQLnet start mysqlsudo systemctl start mysql
停止 MySQLnet stop mysqlsudo systemctl stop mysql
重启 MySQLnet restart mysqlsudo systemctl restart mysql
查看状态sudo systemctl status mysql
设置开机自启自动sudo systemctl enable mysql
路径写法C:\mysql\bin/usr/bin/mysql
大小写不区分严格区分(表名区分)
注释# 或 --# 或 --
端口占用查看netstat -anonetstat -tlnp

5.SQL

1)什么是SQL?

结构化查询语言:其实就是定义了操作所有关系型数据库的规则。每一种数据库查询的语句不一样,就叫做“方言”

2)SQL通用语法?

1.SQL语句可以单行可以多行书写,以分号结尾。

2.可以使用空格和缩进来增强语句的可读性。

3.MySQL数据库的SQL语句不区分大小写,但是Linux下表名区分,关键字建议使用大写

4.单行注释:-- 注释内容(两个-,一个空格);多行注释:#

第一次登录:

1.使用系统权限登录 MySQL

sudo mysql

2. 修改认证方式

在 MySQL 命令行中依次执行:

USE mysql; UPDATE user SET plugin='mysql_native_password' WHERE User='root'; FLUSH PRIVILEGES;

3.设置新密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

4.退出并测试

exit; sudo systemctl restart mysql # 重启 MySQL 服务

登录创建修改删除数据库:

1.MySQL登录

//登录自己的数据库 mysql -uroot -p密码 //登录你要连接的数据库 mysql -hip -uroot -p连接目标的密码 mysql --host=连接目标的ip --user=root --password=root

2.MySQL退出

exit quit

3.展示已经创建的数据库

show databases;

4.展示已经创建的数据库的字符集

show create database 数据库名称;

5.创建数据库

create database 数据库名; //判断这个数据库是否创建过,创建过不报错;没创建过,再创建 create database if not exists 数据库名;

6.创建数据库并指定字符集

create database if not exists 数据库名 character set gbk;

7.修改数据库的字符集

alter database 数据库名称 character set 字符集名称;

8.删除数据库

drop database if exists 数据库名;

9.查看当前使用数据库

select database();

10.使用数据库

use 数据库名;

增删改查表:

创建表:

语法:

create table 表名(

列名1 数据类型1,

列名2 数据类型2,

.....

列名n 数据类型n

);

注意:最后一行绝对不加逗号

数据库类型:

  • int:整数类型 age int,
  • double:小数类型 score double(5,2),
  • data:日期 只包含年月日,yyyy-MM-dd
  • datatime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss,
  • timestamp:时间戳类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss

注:如果将来不给这个字段赋值,或者赋值为null,则默认使用当前的系统时间,来自动赋值

  • varchar:字符串 name varchar(20):姓名最大20个字符
create table student( id int, name varchar(20), age int, score double(4,1), birthday date, insert_time timestamp );

删除表:

drop table if exists 表名;

查询表:

查询某个数据库中的所有表:

show tables;

查询表结构:

desc 表名;

查询表创建的SQL语句:

show create table stu;

修改表:

//增加列 alter table 表名 add 列名 varchar(20); //修改列名称 类型 alter table 表名 change 当前列名 新列名 新数据类型; //只修改列的数据类型 alter table 表名 modify 列名 新数据类型;

增删改查表中的数据:

添加数据:

语法:

insert into 表名(列名1,列名2,列名3,....,列名n)values(值1,值2,值3,....);

注:除了数字类型其他类型都需要用引号(单双都可以)括起来

往想要添加的列里添加数据:

insert into stu(id,name,age,score,birthday,insert_time,sex)values(1,'张无忌',12,100,'2021-01-01',NULL,1);

往整个表里添加数据:

insert into stu values(1,'张',12,98,'2022-01-02',NULL,1);

删除数据:

语法:

delete from 表名 where 条件

注意:

如果不加条件,则删除表中所有数据

如果要删除所有记录

delete from 表名; ----不推荐使用,有多少条记录就执行多少次

TRUNCATE TABLE 表名;---推荐使用,删除表再创建一个空表

truncate table 表名;

delete from stu where id=1;

查询数据:

查询整个表的数据:

select* from 表名;

更新数据:

注:不加条件会修改全部

updata stu set age=111 where id=1; update stu set sex=0,age=27 where id=2;

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询