MySQL语法:mysql数据库常用sql语句

黑窗口连接来远程mysql命令参数

mysql -h 1.13.181.242 -u root -p -P 3306

展示数据库

show databases;

新建数据库

create database 数据库名 charset utf8;

删除数据库

drop database 数据库名;

选择某一个库(进入某一个库) 出现 Database changed,就说明数据库已经被选择;

use 数据库名

展示所有的表 Empty 空的

show tables;

创建表

create table 表名( 字段名1 类型 [约束], 字段名2 类型 [约束], 字段名3 类型 [约束] );

查看表属性

desc 表名;

删除表

drop table 表名;

对表单添加信息

方法1:insert into 表名(name,gender,age,address) values("马克","男",20,"峡谷");

方法2:insert into 表名 values("马克","男",20,"峡谷"), ("李白","男",22,"峡谷");

查看表新增信息

select * from 表名;

表中字段数据类型

数值型

整数:tinyint int int(11) 指定几位

小数:decimal float decimal(5,2) 五位数中有两位是小数

字符串

char:固定长度 char(11) 存放两个字符,多余的位置由空格占位

varchar: 可变长度 varchar(20) 剩下多余的位置释放掉

时间

date:年月日 2020-01-01

time:时分秒 12:29:59

datetime :年月日时分秒 2021-01-01 12:29:59

year:年 2022 枚举

enum:单选 enum("男","女","中性") 集合

set:多选 set("游泳","下棋","唱歌")

约束类型:

唯一约束

unique(字段名,字段名)         #内容不可重复 否则报错

非空约束

字段名 类型 not null         # not null 字段的数值不能为空也不能为None

                                        #null允许为空

默认约束

字段名 类型 default"男"        #默认为

主键约束

字段名 类型 primary key         # 唯一且不能为空

自增约束

字段名 类型 primary key auto_increment         #唯一,非空,可自定义

外键约束

foreign key

外键

添加外键:

删除外键:
-- 需要先获取外键约束名称,该名称系统会自动生成,可以通过查看表创建语句来获取名称
1.第一步查询外键名及外键约束名:

show create table teacher;


>>>>>展示结果:
CONSTRAINT `SBook_comment_id_406b0112_fk_comment_id` FOREIGN KEY (`comment_id`) REFERENCES `comment` (`id`)

要删除的外键约束名>>>  SBook_comment_id_406b0112_fk_comment_id

要删除的外键名>>> comment` (`id`)


2.第二步删除外键约束:

alter table 表名 drop constraint 外键约束名

// alter table sbook drop constraint SBook_comment_id_406b0112_fk_comment_id;

3.第三步删除外键字段:

alter table 表名 drop 外键字段名;

// alter table sbook drop comment_id;

show create table permission;



-- 删除现有的外键约束
ALTER TABLE permission
DROP FOREIGN KEY permission_menuSuperior_id_aaea408c_fk_permission_id;

# 不能删就用这个
# alter table permission drop constraint permission_menuSuperior_id_aaea408c_fk_permission_id;

-- 添加新的外键约束,将 on_delete 更改为 NO ACTION(类似于 PROTECT)
ALTER TABLE permission
ADD CONSTRAINT permission_menuSuperior_id_aaea408c_fk_permission_id
FOREIGN KEY (menuSuperior_id)
REFERENCES permission(id)
ON DELETE NO ACTION;

操作表

注意:对所有表中字段的操作(修改表结构)都需要用到alter

语法:alter table 表名 add/drop/modify/change 字段名 类型[约束];

修改表名

语法:alter table 原表名 rename 新表名;

案例:alter table embloy rename employ;

给表中增加字段

语法:alter table 表名 add 字段名 类型 [约束];

案例:alter table employ add isdelete int;

删除表中字段

语法:alter table 表名 drop 字段名;

案例:alter table employ drop hobby;

操作字段

alter table commentmodel modify parent_id int default 0;

修改字段类型和约束

语法:alter table 表名 modify 字段名 类型[约束];

案例:alter table employ modify name varchar(32);

案例:alter table employ modify id int primary kay;

案例:alter table employ modify enumb int unique;

修改字段名

语法:alter table 表名 change 原字段名 新字段名 类型[约束];

案例:alter table employ change gender sex varchar(3);

操作数据

给表中增加数据

insert into 表名 values(数据1),(数据2);

修改表中所有数据

update 表名 set 字段名=新值;

修改表中某一条数据

update 表名 set 字段名=新值 where 条件;

修改teacher表中 sex为男的所有 money的值

update teacher set money="2000.00" where sex="男";

修改表num2中 字段名为id. 1 中的数值

update num2 set num=num-50 where id=1; 

删除表数据

物理删除

删除表中某一条数据

语法:delete from 表名 where 条件;

案例:delete from people where sname="玛卡巴卡";

删除表中所有的数据

语法:delete from 表名;

案例:delete from people;

mysql清空表可以用delete和truncate两个命令来完成:      

1. delete          

① 语法:delete from table_name;          

② 示例:DELETE FROM `order`;      

2. truncate          

① 语法:truncate table table_name;          

② 示例:TRUNCATE TABLE `order`;

逻辑删除

语法:alter table 表名 add 字段名 类型 [约束];

案例:alter table people add isdelete int default 0;

将某一条数据设置为已删除 字段值为0说明未删除 值为1说明删除

语法:update 表名 set isdelete=1 where 条件;

案例:update people set isdelete=1 where name="王洋";

PyCharm连接数据库,创建表 

"""mysql--数据库    py--python文件的后缀名
python连接mysql    需要借助pymysql第三方模块
"""

"""创建表"""
# 导包
import pymysql

# 连接mysql数据库 connect 方法
# host:即ip,由于python和mysql都在本地运行  所以host直接为localhost
# port:即端口,默认为3306,端口是数字类型数据
# user:mysql数据库的用户名
# password:mysql数据库的密码(自己的密码)
# database:选择连接的数据库的库名
# charset:选择编码方式
con = pymysql.connect(host="localhost", port=3306, user="root",
                      password="123456", database="h2110a", charset="utf8")

# 需要借助游标对象来执行sql语句
# 创建游标对象  游标对象 = 数据库对象.cursor()
c1 = con.cursor()

# 编写sql语句  (注意:group是关键词,不能用在表字段上,可以加上_s之类的, group_s varchar(10),)
sql = """create table sttt(id int,name varchar(20),
gender enum("男","女","未知"),age int,address char(23));"""

# 执行  execute()
c1.execute(sql)

"""1.修改表名为student1  """
import pymysql

con = pymysql.connect(host="localhost", port=3306, user="root",
                      password="iamgod", database="h2110a", charset="utf8")

# 创建游标对象     数据库对象.cursor()
c1 = con.cursor()

# 编写sql语句
sql = """alter table stude rename student1"""

# 游标对象执行sql语句    execute()
c1.execute(sql)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通过echarts绘制//数据 var dataAll=[ { "column1": "燃煤", "column2": "申能股份", "column3": "2023-01", "column4": 317750.73, "column5": 295578.54 }, { "column1": "燃煤", "column2": "申能股份", "column3": "2023-02", "column4": 396408.15, "column5": 376156.47 }, { "column1": "燃煤", "column2": "申能股份", "column3": "2023-04", "column4": 315044.31, "column5": "301267.0" }, { "column1": "燃气", "column2": "崇明", "column3": "2023-01", "column4": 521.88, "column5": 511.01 }, { "column1": "燃气", "column2": "崇明", "column3": "2023-02", "column4": 9657.24, "column5": 9482.77 }, { "column1": "燃气", "column2": "崇明", "column3": "2023-04", "column4": 5930.67, "column5": 5825.95 }, { "column1": "燃气", "column2": "淮北", "column3": "2023-01", "column4": 43226.7, "column5": 41509.4 }, { "column1": "燃气", "column2": "淮北", "column3": "2023-02", "column4": 50857.25, "column5": "49068.0" }, { "column1": "燃气", "column2": "淮北", "column3": "2023-04", "column4": "45654.0", "column5": "14564.0" }, { "column1": "燃气", "column2": "申能股份", "column3": "2023-04", "column4": 31044.31, "column5": "30267.0" }, { "column1": "燃气", "column2": "申皖", "column3": "2023-01", "column4": 31620.29, "column5": "30050.0" }, { "column1": "燃气", "column2": "申皖", "column3": "2023-02", "column4": 60660.21, "column5": "57776.0" }, ]来绘制多列柱状图,,column1作为第一次,cloumn2为第二层,clomn3为第三层,动态获取column1的值,作为图列
06-12
好的,您可以参考以下代码实现您的需求: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>多列柱状图</title> <!-- 引入 ECharts 文件 --> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> </head> <body> <!-- 定义一个具有一定高度的 div 容器 --> <div id="chart" style="height: 500px;"></div> <script type="text/javascript"> // 定义数据 var dataAll=[ { "column1": "燃煤", "column2": "申能股份", "column3": "2023-01", "column4": 317750.73, "column5": 295578.54 }, { "column1": "燃煤", "column2": "申能股份", "column3": "2023-02", "column4": 396408.15, "column5": 376156.47 }, { "column1": "燃煤", "column2": "申能股份", "column3": "2023-04", "column4": 315044.31, "column5": "301267.0" }, { "column1": "燃气", "column2": "崇明", "column3": "2023-01", "column4": 521.88, "column5": 511.01 }, { "column1": "燃气", "column2": "崇明", "column3": "2023-02", "column4": 9657.24, "column5": 9482.77 }, { "column1": "燃气", "column2": "崇明", "column3": "2023-04", "column4": 5930.67, "column5": 5825.95 }, { "column1": "燃气", "column2": "淮北", "column3": "2023-01", "column4": 43226.7, "column5": 41509.4 }, { "column1": "燃气", "column2": "淮北", "column3": "2023-02", "column4": 50857.25, "column5": "49068.0" }, { "column1": "燃气", "column2": "淮北", "column3": "2023-04", "column4": "45654.0", "column5": "14564.0" }, { "column1": "燃气", "column2": "申能股份", "column3": "2023-04", "column4": 31044.31, "column5": "30267.0" }, { "column1": "燃气", "column2": "申皖", "column3": "2023-01", "column4": 31620.29, "column5": "30050.0" }, { "column1": "燃气", "column2": "申皖", "column3": "2023-02", "column4": 60660.21, "column5": "57776.0" }, ]; // 获取所有的 column1 的值 var column1List = dataAll.map(function (item) { return item.column1; }); // 去重 var column1Set = new Set(column1List); var column1UniqueList = Array.from(column1Set); // 定义图例 var legendData = column1UniqueList; // 定义 X 轴数据 var xAxisData = dataAll.map(function (item) { return item.column3; }); // 定义系列 var series = []; // 处理每个 column1 的数据 column1UniqueList.forEach(function (column1) { // 获取当前 column1 的所有数据 var data = dataAll.filter(function (item) { return item.column1 === column1; }); // 处理数据,将 column2 作为每个系列的名称,将 column4 作为每个系列的数据 var seriesData = data.map(function (item) { return { name: item.column2, value: item.column4 } }); // 将数据添加到系列中 series.push({ name: column1, type: 'bar', stack: '总量', data: seriesData }); }); // 使用 ECharts 初始化图表 var myChart = echarts.init(document.getElementById('chart')); // 配置项 var option = { tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, legend: { data: legendData }, xAxis: { type: 'category', data: xAxisData }, yAxis: { type: 'value' }, series: series }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); </script> </body> </html> ``` 这段代码会根据您提供的数据绘制一个多列柱状图,并且根据 column1 的值动态生成图例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值