数据库相关操作

查找数据:

string connStr = "server=localhost;port=3306;user=root;password=root;database=db_winform";
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
string sql = " select * from fuwu";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read()) //读取信息
{
        comboBox1.Items.Add(reader.GetString(0));
}

conn.Close();

select database();    查看自己所在的库
select * from 图标名称;    查看图表内容    select加上distinct可以隐藏重复行
select * from 图标名称 where 条件;    查看图表满足条件内容
select <列名> from<表名>;    查询列
select <列名> from<表名> where <条件表达式>;
select * from<表名> where <条件表达式>;
聚合函数会将NULL排除在外。但COUNT(*)例外,并不会排除NULL。
-- 计算全部数据的行数(包含NULL)select count(*) from product;
-- 计算NULL以外数据的行数 select count(purchase_price) from product;
除函数COUNT(*)外,其余聚合函数(包括COUNT(<列名>))都会忽略空值
--合计值select sum(sale_price) from product;
--平均值select avg(sale_price) from productl;
max和min也可用于非数值型数据select max(regist_date) from product;
如果用于分组的列中含有NULL值,则NULL将作为一个单独的组返回
如果SELECT语句拥有HAVING短语而没有GROUP BY子句,则会把表中的所有记录都分在一个组中。

show databases;    查看数据库数据库
show tables;    查看数据库里的图表
use 数据库名称;    进入某个数据库
show tables from 数据库名称;        查看另一个数据库里的图表
show character set;    查看所有字符集
show create database 数据库;    查看某个数据库信息
show create table 查看表结构和约束 
show create view查看视图结构和约束 

增加:

create database 数据库名称  【字符集样式和校对规则】;	创建数据库

create table 新表名 [like 参照表名|AS];	复制图表

create table  product(
product_id char(4)not null, 
product_name varchar(100)not null, 	非空约束 not null
product_type carchar(32) unique, 	替代键约束 值唯一,可以为空
sale_price interge,	default 0默认约束,为空时为0
purchase_price integer, 
regist_date data,
constraint PK_product primary key(product_id)
);


CREATE TABLE db_school.tb_student
-> ( studentNo CHAR(10),
-> studentName VARCHAR(20) NOT NULL,
-> sex CHAR(2) NOT NULL,
-> birthday DATE,
-> native VARCHAR(20),
-> nation VARCHAR(10) DEFAULT ‘汉’,
-> classNo CHAR(6),
-> CONSTRAINT PK_student PRIMARY KEY(studentNo),
-> CONSTRAINT FK_student FOREIGN KEY(classNo) REFERENCES tb_class(classNo),
-> CONSTRAINT CK_course CHECK(credit=courseHour/16)
-> ON UPDATE RESTRICT     RESTRICT 拒绝对被参照表的删除或修改操作
-> ON DELETE CASCADE        CASCADE 自动删除或修改参照表中匹配的记录
-> ) ENGINE=InnoDB;

修改


alter database 数据库 default character set 新编码 collate 新校对规则;  	  修改数据库编码
alter 旧表名 rename 新表名;	修改表名
alter table 表名 change 旧字段名 新字段名 新数据类型;	修改字段名
alter table 图表名 add 列名 int(4); 增加新字段,增加约束  auto_increment 自增约束
alter table 图表名 add [CONSTRAINT <约束名> ]  
	primary key(主键名)  |foreign key(外键字段) references 外表(外键字段)|unque key(候选键名)
alter table 表名 modify 字段名 新数据类型;   修改数据类型,修改null not null
	alter table 图表名 modify 字段名 [constraint 约束名字] 约束 如not null;
alter table 表名 alter 列名 set default '值'  添加默认值
alter table 表名 alter 列名 drop default     删除默认值
alter table 表名 check()	添加约束  如check(score>100)
alter table 表名 modify 字段名 数据类型 first|after (first或者after选一个)字段名
alter table 表名 drop 主键(primary key) 外键 (foreign key 外键名) 候选键(index 字段名|候选键名)


update 图表名称 set <列名>=<表达式> where id=编号;	数据更新
update 图表名称 set <列名>=<表达式>;	全部更新
使用 update 时要注意添加 where 条件,否则将会将所有的行按照语句修改

删除:


drop databases 库名称;	删除数据库
drop table 图表名称;	删除某个图表
truncate table 图标名称;	清空表内容
delete from 图表 where 行='XXX';	删除特定的行

winform中增删改都用ExecuteNonQuery();

string sql = " insert into user (username,password,tel) " +
                        "values(@username,@password,@tel); ";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Parameters.Clear();//清除cmd里面的数据
cmd.Parameters.AddWithValue("@fuwu", comboBox1.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("成功!"); 
conn.Close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值