MySQL和窗体程序开发

MySQL和窗体程序开发
小楼夜听雨数据库基础语法
可视化工具:DBeaver
创建表:create table 名称 (数据名称 数据类型)
1 | create table student (id int,name char(10),age int,sex char(5)); |
| 类型 | 指令 | 范围 |
|---|---|---|
| 整数 | TINYINT | -128到127 |
| 整数 | SMALLINT | -32768到32767 |
| 整数 | MEDIUMINT | -8388608到8388607 |
| 整数 | INT | -2147483648到2147483647 |
| 整数 | BIGINT | -9223372036854775808到9223372036854775807 |
| 小数 | DECIMAL() | 在存储时需要指定总位数和小数位数。示例:(10,2) |
| 字符串 | CHAR | 定长字符串,存储0到255个字符 |
| 字符串 | VARCHAR() | 变长字符串,可以存储0到65535个字符,示例:(100) |
| 字符串 | TEXT | 用于存储较长的文本数据,最大长度为65535个字符 |
| 日期 | DATE | 格式为YYYY-MM-DD。示例:“2022-05-15” |
| 时间 | TIME | 格式为HH:MM:SS。示例:“12:30:45” |
| 日期和时间 | DATETIME | 格式为YYYY-MM-DD HH:MM:SS。示例:“2022-05-15 12:30:45” |
| 日期和时间 | TIMESTAMP | 自动记录最后修改的日期和时间。示例:“2022-05-15 12:30:45” |
| 枚举 | ENUM() | 用于定义一组可能的值,只能选择其中的一个值。示例:ENUM(“Male”,“Female”),只能选择”Male”或”Female” |
| 集合 | SET() | 定义一组可能的值,可以选择其中的多个值。示例:SET(“Red”,“Green”,“Blue”),可以选择”Red”、“Green”和”Blue” |
| 布尔 | bool | 可以存储True或False |
上述数据类型都支持一些属性,如指定默认值、是否允许为空、是否自增等。例:
指定默认值:默认值属性用于在插入新行时为列指定一个默认值。示例:
age INT DEFAULT 18,默认将年龄设置为18。是否允许为空:允许为空属性用于确定该列是否可以为空。示例:
address VARCHAR(100) NULL,地址可以为空。是否自增:自增属性用于在每次插入新行时自动为列生成唯一的值。示例:
id INT AUTO_INCREMENT PRIMARY KEY,id将自动递增,作为主键。
显示表结构:desc 表名
1 | desc student; |
删除表:drop table 表名
1 | drop table student; |
表结构修改:
数据表添加列:alter table 表名 add 列名 类型;
1 | alter table student add height int(10); |
数据表删除列:alter table 表名 drop 列名;
1 | alter table student drop height; |
数据列改名:alter table 表名 change column 原名 改名 类型
1 | alter table student change column height high int(3); |
数据列修改数据类型:alter table 表名 modify column 列名 改后类型
1 | alter table student modify column high char(10); |
修改表名:alter table 原名 rename to 改名
1 | alter table student rename to student_table; |
插入数据项:insert into 表名(要添加的列名) value (对应的数据);(如果都添加可直接表名)
1 | insert into student(id,name,age,sex,high) value (001,"张三",10,"男",160); |
删除数据项:delete from 表名 where 列名=?
1 | delete from student where high=140; |
修改数据项:update 表名 set 修改的列名 =’1’ where 修改的对象 =’ ‘
1 | update 用户信息 set U_账号 ='1' where U_账号 ='15' |
设置主键:
创建表时:
1
primary key (列名)
现有的表:
1
2ALTER TABLE 表名
ADD PRIMARY KEY (列名);
自增主键:
创建表时:
1
2CREATE TABLE 表名 (
列名 类型 AUTO_INCREMENT PRIMARY KEY,);现有的表:
1
2ALTER TABLE 表名
MODIFY 列名 类型 AUTO_INCREMENT PRIMARY KEY;
逻辑运算符(筛选)
筛选中间的值:
语法:select * from 表名 where 列名 between 最小值 and 最大值;
1 | select * from student where id between 2 and 5; |
作用和使用><是一样的
1 | select * from student where id>2 and id<5; |
筛选这一列为空的值:
语法:select * from 表名 where 列名 is null;
1 | select * from student where high is null; |
筛选指定的值:
语法:select * from 表名 where 列名 in (值1,值2,…)
1 | select * from student where age in(9,12); |
筛选包含有元素的值
通配符:
- % 代表任意字符和数量
- _ 一个下划线代替一个字符
语法:select * from 表名 where 列名 like ‘通配符 特征 通配符’;
1 | select * from student where name like '张%'; =张死鬼, 张死,张鬼,张死鬼2 |
窗体开发
基本信息修改
窗口标题:外观-Text
窗口图标:样式-icon
窗口颜色:外观–BackColor
窗口背景:外观-backgroundlmage
背景属性:外观-backgroundlmageLayout
窗口位置:布局-StartPosition
最大化最小化启用:样式-maximizebox和minimizebox
用户修改大小:布局-Autosizemode
图书馆管理系统
1.构造对应的程序界面
2.创建对应的数据库
建立图书管理系统数据库
建立两个表
1.用户表(id,密码,姓名,性别,身份证,电话,使用状态)
1
2
3
4
5
6
7
8
9
10create table YH(
U_id int,
U_pwd varchar(6),
U_name varchar(20),
U_sex varchar(2),
U_idcard varchar(18),
U_Tel varchar(11),
U_sed bool,
primary key (U_id)
);2.管理员表(id,密码,姓名)
1
2
3
4
5
6create table YH(
A_id int,
A_pwd varchar(6),
A_name varchar(20),
primary key (U_id)
);
添加1个管理员和2个用户
1 | insert into gly (A_id,A_pwd,A_name) value (001,123456,"张三"); |
3.连接数据库
安装MySQL Connector/NET和MySQL for Visual Studio驱动
在项目中右键添加NuGet程序包(MySql.Data)
添加类和代码
1 | using MySql.Data.MySqlClient;//包含与数据库交互的类和方法 |







