MySql安装配置:
1.我的电脑->属性->高级->环境变量
选择PATH,在其后面添加: 你的mysql bin文件夹的路径
2自己建立一个my.ini文件拷贝到Bin目录下
[mysqld]
basedir=C:\ProgramFiles\MySQL\MySQL Server 5.6(mysql所在目录)
datadir=C:\ProgramFiles\MySQL\MySQL Server 5.6\data (mysql所在目录\data)
3以管理员身份运行cmd,进入Bin目录下
mysqld --install 安装mysql服务
mysqld --initialize --user=mysql –console 执行命令, 生成库. 注意有个临时密码, 要记下来.
net start mysql
mysql -uroot -p
输入临时密码,
set password = password('root') 修改密码
:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed
时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values (”hyq”,”M”);
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex=”f” where name=’hyq’;
以下是无意中在网络看到的使用MySql的管理心得,
在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用net start
mysql命令启动。而Linux中启动时可用
“/etc/rc.d/init.d/mysqld start”命令,注意启动者应具有管理员权限。
刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高
,在这里应把匿名帐户删除、 root帐户设置密码,可用如下命令进行:
use mysql;
delete from User where User=”";
update User set Password=PASSWORD(’newpassword’) where User=’root’;
数据库:可以理解为存放数据的仓库
数据库处理技术经历了三个阶段:
1人工管理
2文件管理系统
3数据库管理系统(DBMS DataBase Manager System)
数据模型:
1概念模型
用于数据库设计,是对真实世界中问题域内的事物的描述。
实体关系图即E-R图 用矩形表示实体,椭圆表示属性
菱形表示关系。
关系:一对一一对多 多对多
2逻辑模型
按计算机系统的观点对数据建模,主要用于DBMS的实现。
包括:层次模型网状模型 关系模型 面向对象模型
对象关系模型等。
关系模型:用二维表格作为基本的数据结构
3物理模型
是对数据最低层的抽象,它描述数据在系统内部的表示方式和
存取方法,是面向计算机系统的,具体实现是DBMS的任务。
DBMS的用途:科学地组织和存储数据,高效地获取和维护数据。
数据库操纵语言SQL:
SQL语句分为:1数据定义语言(DDL Data Definition Language) 定义撤销和修改数据模式
2数据操纵语言(DML DataManipulation Language)
1数据查询语言(QL Query Language):进行数据查询
2数据更新语言:用于增加,删除和修改数据,
3数据控制语言(DCL DataControl Language)对数据访问权限的控制
完整性描述事物控制
SQL以记录集合作为操作对象
新建:
create table t_ students(id int,name varchar(20))
增:
insert intot_students(id,name,gender,hobbies,height) values(3,'name3',1,'hobbiy3',2)
删:
deletefrom t_students;//删除整张表里的数据,表还在
droptable t_students;//表也删除掉了
改:
updatet_students set name='name1'; //也可以条件数据更新
查:
select *fromt_students
select id asmyid,gender as mygender from t_students where gender=1;
数据分组:相同为一组
select gender fromt_students where gender is not null group by gender
求各组最大身高:
select gender,max(height) from t_studentswhere gender is not null group bygender
Ep:
select *from t_students where gender=1 order by id desc
select *from t_students orderby gender asc
通配符过滤使用LIKE
Ep:
“_”匹配单个出现的字符
“%”匹配任意次数符号前面出现的字符
select *fromt_students where name like '_ame2'
select *from t_students where name like '%n%' //包含n
空值处理 不能有”=”号,因为空表示不知道。
select *from t_students where gender is not null
select *from t_students where gender is null
LIMIT 0,5 //0表示首行行号,5表示显示几行 只有Mysql支持
select *from t_students where gender is not null limit 0,5
Ep:
select Avg(id),Max(gender),Sum(id)from t_students;
Select count(*) from t_students where gender=1;
联合查询:
Join:连接不同表
selecto.number,o.price,c.name,c.age ,t.name
from t_orders o left join t_customers c on o.customerid=c.id
left join t_ordertypes t on o.typeid=t.id ;
外键约束:在有外键的表里设置,本例在t_orders里。建议restict ,删除报错。
C编程mySql
配置:
1、在项目属性中【VC++目录】→“包含目录”,选择mysql的include文件夹;“库目录”选择mysql的lib文件夹;【链接器】→【输入】的“附加依赖项”增加“libmysql.lib”。
2、C代码里include头文件mysql.h,并且在之前要include头文件winsock.h。
3、MYSQL*pConn = mysql_init(0);
4、编译运行,会报错找不到“libmysql.dll”,把mysql的libmysql.dll复制到exe的目录下。