一、基础 1、创建数据库 CREATE DATABASE database-name 2、删除数据库 drop database dbname 3、备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack 4、创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、删除新表 drop table tabname 6、增加一个列 Alter ### 数据库操作知识点 #### 一、基础知识 1. **创建数据库** - SQL命令: `CREATE DATABASE database-name;` - **说明**: 使用上述命令可以创建一个新的数据库。 - **注意事项**: - `database-name` 需要替换为实际想要创建的数据库名。 - 如果数据库已经存在,则会报错。可以通过添加 `IF NOT EXISTS` 来避免这种情况,如:`CREATE DATABASE IF NOT EXISTS database-name;` 2. **删除数据库** - SQL命令: `DROP DATABASE dbname;` - **说明**: 使用此命令可以删除指定的数据库。 - **注意事项**: - `dbname` 需要替换为实际想要删除的数据库名。 - 删除数据库是不可逆的操作,删除前请确保备份重要数据。 3. **备份SQL Server** - **创建备份设备**: - SQL命令: ```sql USE master; EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'; ``` - **说明**: 创建了一个名为 `testBack` 的备份设备,存储路径为 `c:\mssql7backup\MyNwind_1.dat`。 - **开始备份**: - SQL命令: ```sql BACKUP DATABASE pubs TO testBack; ``` - **说明**: 对名为 `pubs` 的数据库进行备份。 - **注意事项**: - 在执行备份操作之前,请确保有足够的磁盘空间。 4. **创建新表** - **通用格式**: - SQL命令: ```sql CREATE TABLE tabname(col1 type1 [NOT NULL] [PRIMARY KEY], col2 type2 [NOT NULL], ...); ``` - **说明**: 创建一个名为 `tabname` 的新表,并定义了表结构。 - **根据已有表创建新表**: - 方法 A: - SQL命令: ```sql CREATE TABLE tab_new LIKE tab_old; ``` - **说明**: 根据 `tab_old` 表的结构创建 `tab_new` 表。 - 方法 B: - SQL命令: ```sql CREATE TABLE tab_new AS SELECT col1, col2... FROM tab_old DEFINITION ONLY; ``` - **说明**: 仅复制 `tab_old` 表的结构定义,不复制数据。 5. **删除表** - SQL命令: `DROP TABLE tabname;` - **说明**: 删除名为 `tabname` 的表。 - **注意事项**: - 删除表是不可逆的操作,请谨慎操作。 6. **增加列** - SQL命令: `ALTER TABLE tabname ADD colname type [NOT NULL];` - **说明**: 向 `tabname` 表中添加一个名为 `colname` 的新列。 - **注意事项**: - 如果需要将新列设置为 `NOT NULL`,则需要先为现有行填充默认值。 #### 二、项目实例分析 **项目背景**: - 学生信息管理系统是一个用于管理学校学生信息的软件系统,包括学生基本信息、成绩信息、课程信息等。 **数据库设计**: - **学生表(students)**: - 学生ID(student_id, 主键) - 姓名(name) - 性别(gender) - 年龄(age) - 班级ID(class_id, 外键) - **班级表(classes)**: - 班级ID(class_id, 主键) - 班级名称(class_name) - **成绩表(scores)**: - 成绩ID(score_id, 主键) - 学生ID(student_id, 外键) - 课程ID(course_id, 外键) - 分数(score) - **课程表(courses)**: - 课程ID(course_id, 主键) - 课程名称(course_name) **数据库操作**: 1. **连接到数据库** - **Python 示例**: ```python import pymysql # 连接数据库 connection = pymysql.connect(host='localhost', user='your_username', password='your_password', database='your_database', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) ``` 2. **创建表** - **Python 示例**: ```python try: with connection.cursor() as cursor: # 创建学生表 sql = """ CREATE TABLE IF NOT EXISTS students ( student_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), gender ENUM('M', 'F'), age INT, class_id INT, FOREIGN KEY (class_id) REFERENCES classes(class_id) ) """ cursor.execute(sql) # 创建其他表... # 提交事务 connection.commit() except pymysql.MySQLError as e: print(f"Error: {e}") finally: connection.close() ``` 3. **插入数据** - **Python 示例**: ```python try: with connection.cursor() as cursor: # 插入数据 sql = "INSERT INTO students (name, gender, age, class_id) VALUES (%s, %s, %s, %s)" val = ("张三", "M", 20, 1) cursor.execute(sql, val) # 提交事务 connection.commit() except pymysql.MySQLError as e: print(f"Error: {e}") finally: connection.close() ``` 4. **查询数据** - **Python 示例**: ```python try: with connection.cursor() as cursor: # 查询数据 sql = "SELECT * FROM students WHERE class_id = %s" val = (1,) cursor.execute(sql, val) # 获取查询结果 results = cursor.fetchall() for row in results: print(row) except pymysql.MySQLError as e: print(f"Error: {e}") finally: connection.close() ``` 以上介绍了数据库的基本操作命令以及在具体项目中的应用。这些操作在不同的应用场景下有着重要的作用,例如在学生信息管理系统中,通过这些操作可以有效地管理和维护学生的各种信息。
剩余23页未读,继续阅读
- 粉丝: 7235
- 资源: 376
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于 AT89C51 的电梯控制系统嵌入式系统实验详细文档+全部资料+高分项目+源码.zip
- 本科毕设-基于嵌入式arm的人脸识别智能门禁,包括代码、电路图,具体流程详细文档+全部资料+高分项目+源码.zip
- 毕设-基于WIFI车间设备监测与控制系统的研究)的主程序,采用Qt框架编写,以嵌入式ARM Linux系统作为软件运行平台详细文档+全部资料+高分项目+源码.zip
- 基于 react + koa, 开箱即用的 Material Design 风格博客系统..详细文档+全部资料+高分项目+源码.zip
- Project2.zip
- 用c++语言实现的各种算法源代码.zip
- 基于 u8g2 的单色 OLED 菜单 UI 框架。MiaoUI使用 C 语言实现,,适用于具有小型OLED屏幕的嵌入式设备。详细文档+全部资料+高分项目+源码
- 基于ARM的嵌入式小系统,在系统挂掉之后,提取现场的dump信息详细文档+全部资料+高分项目+源码.zip
- 基于Android基于WebView的嵌入式Youtube视频播放器,可识别多种Youtube分享视频的url详细文档+全部资料+高分项目+源码.zip
- 基于ARM-Linux的嵌入式视觉移动追踪系统,并通过Android APP进行无线控制详细文档+全部资料+高分项目+源码.zip
- 基于C++11,协作式调度物联网嵌入式操作系统详细文档+全部资料+高分项目+源码.zip
- 基于ARM架构Cortex-A8的IC卡嵌入式刷卡考勤系统详细文档+全部资料+高分项目+源码.zip
- 基于cc2530的嵌入式详细文档+全部资料+高分项目+源码.zip
- 基于ChatGPT的智能音箱嵌入式课程设计详细文档+全部资料+高分项目+源码.zip
- 基于Cortex-M内核的嵌入式操作系统,针对新手设计,简单易懂详细文档+全部资料+高分项目+源码.zip
- 基于contiki与ucGUI的嵌入式微操作系统例程详细文档+全部资料+高分项目+源码.zip