MYSQL是一种流行的关系型数据库管理系统,广泛应用于各种业务场景。
注意: 确保已安装MySQL并设置好环境变量。(控制台输入)
MYSQL --version;
MySQL大小写敏感吗:
1>在windows下不区分大小写
2>在Linux下默认是区分大小写的
MySQL的大小写敏感是由参数控制的
show global variables like'%lower_case%';//这个是登录到MYSQL后才能执行的语句,等学到后面就知道了,先看下面的
------------我的系统输出---------------------
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| lower_case_file_system | ON |
| lower_case_table_names | 1 |
+------------------------+-------+
2 rows in set, 1 warning (0.01 sec)
system是☞系统:NO->大小写不敏感 OFF->大小写敏感
name是☞命名:0->大小写敏感 1->大小写不敏感 2->大小写不敏感
数字类型:整数:tingint、smallint、mediumint、int、bigint
浮点:float、double、real、decimal
日期和时间:date、time、datetime、timestamp、year
字符串类型:字符串:char、varchar
文本:tinytext、text、mediumtext、longtext
二进制(可存储音乐、图片):tinyblob、blob、mediumblob、longblob
数据库层面
MYSQL -h 主机名 -u 用户名 -p;
1>当前机器可忽略-h 主机名
2>用户名一般是root
3>输入完回车就是输入密码就行
CREATE DATABASE 数据库名[其他选项];
1>[]只是我为了区分,别傻乎乎也打进去了
2>关键词我都是大写的,这是因为,保险起见,大写总没有错
3>其他选项可以是:character set gbk(指定数据库字符编码)
SHOW DATABASES;
注意是DATABASES,有S
USE 数据库名;
USE语句后可以不加分号‘;’,但是我建议加,因为他们都说建议加
操作数据库
CREATE TABLE 表名称(列声明);
------------如下所见----------------
CREATE TABLE Stidents(
Id INT NOT NULL AUTO_INCREMENT,
Num INT NOT NULL UNIQUE,
Name VARCHAR(20) NOT NULL,
Sex VARCHAR(4) NOT NULL,
Birthday DATE NULL,
Address VARCHAR(50) NULL,
PRIMARY KEY(Id)
);
1>你当然可以在一行写,这样子是为了好看,你不喜欢好看的things?
2>习惯字段第一个字母大写,当然MYSQL不区分大小写
3>我可没有说关键字不区分,所以最好关键字全大写
4>最后的primary key(xxx)是设置主键的语句,什么?你想问主键是什么东西?啊呀,都快速入门你还想学那么细,你想干嘛啊?不知道就去百度啊
5>AUTO_INCREMENT是自动递增,只能在整数列中使用
SHOW TABLES;//查看自己创建的表-------什么报错了?你能不能把S加上?
DESCRIBE 表名;//可查看已创建表的详细信息
INSERT INTO 表名 [(列名1,列名2,列名3,...)]values(值1,值2,值3,...);
----------------------------以下是举例------i-----------------------------------
INSERT INTO Students VALUES(NULL,"小武","男",21,"13367238474");
如果只插入部分数据
INSERT INTO Students(Name,Sex,Age) VALUES("小胡","女",21);
select 列名称 from 表名称 [查询条件];
----------------------------以下是举例-----------------------------------------
SELECT Name,Age FROM Students;
使用通配符也可以
SELECT *FROM Students;
-----------------------------按特定条件查询-------------------------------------
SELECT 列名称 FROM 表名称 where 条件;
----------------------------以下是举例-----------------------------------------
SELECT * FROM Students WHERE Sex="女";
//一般运算符也可以 = >= <= < > !=
//以及更复杂的 is[not] null ,in,like,or,and
例如查询名字带’武‘的所有人信息
SELECT *FROM Students WHERE Name LIKE "%武%";//解释一下两个%是什么意思,就是类似占位符,前面一个代表武不一定是第一个,后面代表武不一定是最后一个
再例如查询Id小于5,并且年龄大于20的所有人信息
SELECT * FROM Students WHERE Id < 5 AND Age>20;
update 表名称 set 列名称=新值 where 更新条件;
----------------------------以下是举例-----------------------------------------
将手机号为123的姓名改为"武",年龄改为19
UPDATE Students SET Name = "武",Age = 19 WHERE Tel = "123";
delete from 表名称 where 删除条件;
----------------------------以下是举例------------------------------------------
删除Id为2的行
DELETE FROM Students WHERE Id = 2;
删除表中所有数据
DELETE FROM Students;
删除表中的外键约束
ALTER TABLE 表名 DROP FOREIGN KEY 拥有外键的字段名;
创建表后的修改---(关键字:alter table)
alter table 表名 add 列名 列数据类型[after 位置];--//还是那句话'[]'这个中括号是为了给你举例是可供选择的
----------------------------以下是举例------------------------------------------
在表的最后添加名为address的列
alter table Students add address char(60);
在名为age的列后插入名为birthday的列
alter table Students add birthday date after age;
alter table 表名 change 列名 列新名 新数据类型;
----------------------------以下是举例------------------------------------------
将tel列改为telphone
alter table Students change tel telphone char(13) default "_";
将name列的数据类型改为char(16)
alter table Students change name name char(16) not null;
alter table 表名 drop 列名称;
----------------------------以下是举例------------------------------------------
删除birthday列
alter table Students drop birthday;
alter table 表名 rename 新表名;
----------------------------以下是举例------------------------------------------
重命名 Students表为workmates
alter table Students rename workmates;
drop table 表名;
----------------------------以下是举例------------------------------------------
删除workmates表
drop table workmates;
drop database 数据库名;
----------------------------以下是举例------------------------------------------
删除same_db 数据库
drop database samp_db;
alter table 表名 modify 字段名 varchar(10) after 字段名;
----------------------------以下是举例------------------------------------------
放在第一名
alter table 表名 modify 字段 字段属性 first;
JOIN用于将多个表连接在一起。
SELECT * FROM table1 JOIN table2 ON table1.id = table2.id;
修改root用户密码
mysqsladmin -a root -p password 新密码<-
>输入旧密码就行
MYSQL不同命令清屏的方式
1>Powershell
system cls;
2>navicat使用命令列工具
clear;
3>Mycli和Linux
Ctrl + L;
insert into user_info (name, age, height, phone)
values ('张三', 20, 183, '13367238474');