我的简单编写的mysql语句

本文详细介绍如何使用SQL进行数据库的基本操作,包括创建数据库、表及视图,数据的增删改查,字段的添加与删除,以及如何管理和使用外键、索引等。此外,还介绍了存储过程与触发器的创建和应用。

1.命令行进入数据库密码 root
2.建立我的数据库mydatabase
 create database mydatabase;
3.在数据库mydatabase下建立表userinf
 首先 use mydatabase;
 其次 create table userinf(user_id int primary key,user_name varchar(20));
4.往数据库里插入数据
 insert into userinf values(1,'袁未');
 insert into userinf values(2,'王熠');
 insert into userinf values(3,'戴强华');
 insert into userinf values(4,'张志会');
 insert into userinf values(5,'刘元');
 insert into userinf values(6,'耿东海');
 insert into userinf values(7,'韦宁');
 insert into userinf values(9,' 邵锋');
 insert into userinf values(10,' 吴东海');
5..创建完后提交
 commit
6.修改一条记录(把id号为10的姓名改成吴吴吴)
 update userinf set user_name='吴吴吴'where id=10;
7.删除一条记录(把id=10的记录给删除)
 delete from userinf where user_id=10;

8.增加一列(例如增加一列年龄)
 alter table userinf add column(age int);(默认在末尾加入一列)
 alter table userinf add columnage int after id;(指定在id后面加入一列)
9.删除一列(把age一列删除)
  alter table userinf drop age;
 
10.修改字段名称类型(把age修改成性别sex,数据类型char)
  alter table userinf change age sex char;
11.建立一个表没有设置外键
 create table articles (id int primary key ,content longtext not null,userid int);
命令行增加外键
 alter table articles add constraint foreign key (userid) references userinf

(user_id) on delete set null;(set null是删除时删除相关联的数据)
12.建立表时设置外键
 create table articles (id int primary key ,content longtext not null,userid

int,constraint foreign key (userid) references userinf(user_id) );
13.创建一个视图
 create view view_userinf(id,name)as select *from userinf;
14..删除视图
 drop view view_userinf;
15.创建索引
 create index index_user on userinf(user_id);
16.删除索引
 drop index index_user on userinf(user_id);(比oracle多了on userinf(user_id))
17.建立一个存储过程并调用
首先改变结束符
 
 mysql> delimiter //(用//代替;表示结束符号)
 mysql> create procedure my(out param1 varchar(20))
     -> begin
     -> select user_name into param1 from userinf where user_id=1;
     -> end
    -> //
 mysql> call my(@b)
    -> //
 mysql> select @b //
18.创建一个触发器(  触发器是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象

。例如当我们向 某个表插入一行数据时发生一个事件或者删除某个记录时触发某个事件)

例子:创建一个表numuser,当向表userinf插入一条数据时触发numuser的num加1

首先创建一个表numuser
 create table numuser(num int not null default 0);
然后创建触发器
 mysql> delimiter //
 mysql> create trigger testnum after insert on userinf for each row
     -> begin
     -> update numuser set num=num+1;
     -> end
     -> //
19.命令行命令:delimiter // 表示以//代表结束


 


       


  

<think>好的,我现在需要帮用户解决如何在PyCharm中编写和执行MySQL查询语句的问题。首先,我得回忆一下用户提供的引用内容,看看有没有相关的步骤。引用1提到在PyCharm中运行Python脚本连接到MySQL并执行查询,引用2和3则给出了具体的SQL语句示例,比如插入数据和创建表。这说明用户可能已经通过Python脚本使用PyyMySQLmysql-connector库来操作数据库,而不是直接使用PyCharm的数据库工具。 首先,用户的问题是如何在PyCharm中编写和执行MySQL查询。根据引用内容,可能需要分两种情况:一种是使用Python脚本连接数据库执行SQL,另一种是使用PyCharm内置的数据库工具。不过引用里的例子主要是通过Python代码执行的,比如引用2中的sql_insert语句是在Python字符串中编写的,然后通过游标执行。所以可能需要先检查用户是否已经安装了数据库驱动,比如mysql-connector-python或PyMySQL,并在代码中正确配置连接。 接下来,我应该分步骤说明。第一步可能是安装数据库驱动,比如在PyCharm的项目解释器中安装mysql-connector-python。然后,编写连接数据库的代码,包括主机、用户、密码、数据库名等信息。接着,创建游标对象,执行SQL语句,比如SELECT、INSERT等,并处理结果。引用3中有一个创建表的例子,应该用USE world; CREATE TABLE student(...),这可能需要在SQL语句中执行。 另外,用户可能对使用PyCharm的Database工具不太熟悉,所以可能需要提到这个功能。PyCharm专业版有Database工具,可以直接连接MySQL编写和运行查询,但社区版可能需要插件或者只能通过Python代码。需要确认用户使用的是哪个版本,但根据引用中的例子,用户可能是通过Python脚本操作的,所以重点应该放在代码编写上。 还需要注意SQL注入的问题,比如使用参数化查询,而不是直接拼接字符串,像引用2中的例子是直接拼接值,这可能不安全,应该建议使用占位符,比如cursor.execute("INSERT INTO userinfor VALUES (%s, %s)", ('中兴', '123'))。 然后,执行脚本的部分,引用1提到点击运行按钮或Shift+F10,这需要确保代码正确,没有错误。可能还需要处理异常,比如连接失败的情况,添加try-except块。 最后,用户可能需要示例代码,将引用中的内容整合成一个完整的例子,包括连接、执行查询、获取结果、关闭连接等步骤。同时,生成相关问题,比如如何防止SQL注入,如何处理查询结果,或者如何调试连接问题,这些都能帮助用户进一步学习。 总结步骤:安装驱动、编写连接代码、创建游标、执行SQL、处理结果、关闭连接。同时提到使用参数化查询和异常处理,确保代码安全和健壮性。此外,提到专业版的Database工具作为另一种方法,但主要焦点放在Python脚本上,因为引用中的例子都是基于代码的。</think>在PyCharm中编写和执行MySQL查询语句可以通过以下步骤实现: --- ### 一、环境准备 1. **安装MySQL驱动** 在PyCharm的终端中安装Python的MySQL连接库(如`mysql-connector-python`或`pymysql`): ```bash pip install mysql-connector-python ``` 2. **配置数据库连接** 编写代码连接MySQL数据库,需提供主机地址、用户名、密码和数据库名: ```python import mysql.connector config = { "host": "localhost", "user": "root", "password": "123456", "database": "world" } # 建立连接 conn = mysql.connector.connect(**config) cursor = conn.cursor() ``` --- ### 二、编写与执行SQL语句 #### 1. **执行查询(SELECT)** ```python try: cursor.execute("SELECT * FROM student") # 执行查询语句 results = cursor.fetchall() # 获取所有结果 for row in results: print(row) except Exception as e: print("查询失败:", e) ``` #### 2. **执行数据操作(INSERT/UPDATE/DELETE)** ```python sql_insert = "INSERT INTO student(id, name, age) VALUES (%s, %s, %s)" values = (1, "张三", 20) try: cursor.execute(sql_insert, values) # 使用参数化查询防止SQL注入 conn.commit() # 提交事务 print("插入成功") except Exception as e: conn.rollback() # 回滚事务 print("插入失败:", e) ``` #### 3. **创建表** ```python cursor.execute(""" CREATE TABLE IF NOT EXISTS student ( id INT PRIMARY KEY, name VARCHAR(30), age INT ) """) ``` --- ### 三、执行脚本 - **运行代码**:点击PyCharm右上角的运行按钮(或按`Shift + F10`),脚本会连接到数据库并执行SQL操作[^1]。 - **调试技巧**:在代码中设置断点,逐步检查数据库连接和查询结果。 --- ### 四、使用PyCharm内置数据库工具(专业版) 1. **连接数据库**: 点击右侧`Database`面板 ➔ 添加MySQL数据源 ➔ 填写连接信息[^3]。 2. **直接编写SQL**: 在打开的SQL控制台中输入语句(如`SELECT * FROM student`),按`Ctrl + Enter`执行。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值