数据库的定义操作
登录Mysql命令
mysql (-h 数据库地址) -u 用户名 -p 密码
如:mysql -u root -p
退出Mysql命令
quit
注:在mysql中书写sql语句必须要带结束符";"
显示当前Mysql中的全部数据库
show databases;
创建数据库
create database [if not exists] 数据库的名字
create database user1;
注:if not exists,是否覆盖创建,如果不省略则覆盖创建。
删除数据库
drop database [if exists] 数据库的名字
drop database user1;
注:if exists,不管数据库是否存在,都执行成功。
查询当前操作的数据库
select database();
切换使用数据库
use 数据库名字;
use user;
表格的定义操作
创建表格
create table [IF NOT EXISTS] 表名(
列名 普通约束 描述,
主键约束,
外键约束,
);
关键词
auto_increment——自动增加,不能定义表级约束
not null——非空,不能定义表级约束
default——默认值,不能定义表级约束
unique——唯一。
check——限制列的取值范围,使用方式CHECK(条件)
primary key——主键,即非空唯一。
foreign key——外键,使用方式,[FOREIGN KEY] [列名] REFERENCES 外表名 外表列名 [删除修改是否联动]
COMMENT 描述的关键词
CURRENT_TIMESTAMP 自动生成数据库时间
查看当前数据库的表
show tables;
查看表结构命令
desc 表名;
修改表结构
alter table 表名 change 原列名 新列名 数据类型 [完整性约束];//change可以修改列别,数据类型和约束
alter table 表名 modify [column] 列名 数据类型;//modify只能修改数据类型
alter table text modify id varchar(100);
alter table text change id uid varchar(255) not null;
添加表结构
alter table 表名 add [column] 列名 数据类型 not NULL default '123456' ;
alter table text add username varchar(100) unique default "admin";
alter table text add primary key(uid);
删除表结构
alter table 表名 drop [column] 列名;
alter table text drop username;
删除表
drop table [IF EXISTS] 表1 [,表2,表3];
drop table text,users;
表中数据的操作
向表格中插入数据
完全插入的写法
insert [into] 表名 values(要写全部的字段值);
insert users values(UUID(),"admin","123123","任","/a/b/c/img.jpg",true,"123456",10.00,CURRENT_TIMESTAMP);
注:UUID(),默认随机生成Hash值,不重复唯一
部分插入的写法
insert [into] 表名(需要插入的字段名) values(对应需要字段的值);
insert users(uid,username,realname) values(UUID(),"admin123","哈哈");
mysql 语法中支持多条插入
insert users(uid,username,realname) values
(UUID(),"admin1234","哈哈1"),
(UUID(),"admin12345","哈哈2"),
(UUID(),"admin123456","哈哈3"),
(UUID(),"admin1234567","哈哈4"),
(UUID(),"admin12345678","哈哈5");
为表格中修改数据
update 表名 set 修改内容 [判断条件]
如果不加判断条件则修改整张表的该列
update users set pwd="123456";
删除表格数据
delete from 表名 [判断条件]
如果不添加任何判断条,会删除整张表的数据
delete from users;
查询表格数据
查询全部数据
select 字段的名字 from 表名
select * from users;
- 全部列名
条件查询
select 字段的名字 from 表名 where 条件;
select goods_name,goods_introduce from goodlist where first_id="53e74a96-db00-11ea-8db0-d43a6508d4a8";
select goods_name,goods_introduce from goodlist where first_id="53e74a96-db00-11ea-8db0-d43a6508d4a8" and goods_name="ANNY意式浓缩拼配咖啡豆2*227g";//and 关键词相当于且
select goods_name,goods_introduce from goodlist where first_id="53e74a96-db00-11ea-8db0-d43a6508d4a8" or second_id="94711f15-db98-11ea-be68-d43a6508d4a8";//or 关键词相当于 或
select goods_name,goods_introduce from goodlist where goods_name like "%小%" ;//like关键词如果 部分%一起使用,相当于=,如果需要完成模糊搜索操作需要在搜索字符的前后都加上%
分组查询数据
select 字段的名字 from 表名 group by 分组字段 having 判断条件;
注:如果需要判断条件则在select后面的字段名字中加入该判断条件字段
select goods_name,goods_introduce,goods_price from goodlist group by thired_id having goods_price>100;
排序查询数据
select 字段名 from 表名 order by 需要排序的字段名 DESC/ASC
注:DESC降序,ASC升序
select * from users order by uid DESC;
查询数据去重
select distinct 需要去重的字段名 from 表名;
SELECT DISTINCT pwd from users;
条件查询的运算符操作BETWEEN…and
select 字段名 from 表名 where 字段名 BETWEEN 值 and 值
select * from sc where grade BETWEEN 85 and 93;
“>”,"<",">=","<=","!="
select * from sc where grade>=85 and grade<=93;
limit 关键词
select 字段名 from 表名 limit 查询个数;
select * from sc LIMIT 3;
注:接一个参数时表示查询个数
select 字段名 from 表名 limit 查询数据的起始下标,查询个数;
注:下标是从0开始的。
select * from sc LIMIT 3,2;
聚合函数实例
SELECT SUM(grade) AS '总成绩' from sc
SELECT AVG(grade) AS '平均成绩' from scSELECT MAX(grade) AS '最高成绩' from sc
SELECT MIN(grade) AS '最低成绩' from sc
SELECT COUNT(*) AS '当前表格数据个数' from sc
SELECT CONCAT(cno,sno) AS '合并列操作' from sc
修改数据库密码在cmd操作
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;