环境:Win2003+sp1、 Office 2007、 SQL 2005 Express
一、数据库的创建
数据库相关
- navicat工具创建的数据库(SQLite3)
- 属性的类型(5种)
- blob 二进制类型
- integer 整型
- real 浮点型
- text 文本类型
- null 空
- 主键
- 主键(primary key)用来唯一的标示某一条记录
- 主键可以是一个字段或多个字段
- 主键设计的原则
- 主键应当是对用户没有意义
- 永远也不要更新主键
- 主键不应该包含动态变化的数据
- 主键应当有计算机自动生成
- 属性的类型(5种)
- SQL语言简介
- SQL(structured query
language)结构化查询语言,是一种对关系型数据进行定义和操作的语言 - SQL语句中的CURD(Create Retrieve Update Delete)
- 在SQL语句中不区分大小写,每条语句都必须以分号结尾
- SQL(structured query
- SQL语句的种类
- 数据定义语句(DDL Data Definition Language) 包括 crate drop alter
等操作 - 数据操作语句(DML Data Manipulation Language) 包括 insert delete
update等操作 - 数据查询语句(DQL Data Query Language) select where order by
- 数据定义语句(DDL Data Definition Language) 包括 crate drop alter
- DDL(Data Definition Language)
- 创建表
- 格式: create table 表名 (字段名1 字段名1类型,字段名2
字段名2类型); - 示例: create table t_stu (name text,score real);
- 语句优化:
- 原因:创建表时,最好加个表是否已经存在的判断,防止语句多次执行时发生判断
- create table if not exists (字段名1 字段名1类型,字段名2
字段名2类型);
- 格式: create table 表名 (字段名1 字段名1类型,字段名2
- 删除表
- 格式: drop table 表名
- 示例: drop table t_stu
- 语句优化: drop tabel if exists t_stu
- 修改表
- 修改表名
- alter table 旧表名 rename to 新表名
- 新增属性
- alter table 表名 add column 列名 数据类型 限定符
- 修改表名
- 创建表
- 字段类型的约束
- 简单的约束
- 不能为空 not null 规定字段的值不能为空
- 不能重复 unique 规定字段的值必须唯一
- 默认值 default 指定字段的默认值
- 主键的约束
- 在创建表的时候在一个字段类型的后面添加 primary key
表明该字段是这个表的主键 - 主键字段默认包含了 not null 和 unique 两个约束
- 如果想要让主键自动增长(必须是integer类型),应该增加autoincrement
- 在创建表的时候在一个字段类型的后面添加 primary key
- 简单的约束
- DML(Data Manipulation Language)
- 插入数据 insert
- 格式: insert into 表名(字段1,字段2,…) values
(字段1的值,字段2的值,…); - 示例: insert into t_stu(name,age) values (‘张三’,19);
- 注意点: 数据库中的字符串内容应该用单引号”括住
- 格式: insert into 表名(字段1,字段2,…) values
- 更新数据 update
- 格式: update 表名 set 字段1 = 字段1的值,字段2 =
字段2的值,…; - 示例: update t_stu set name = ‘李四’,age = 20;
- 注意:要带上要更新数据的条件语句
- 格式: update 表名 set 字段1 = 字段1的值,字段2 =
- 删除数据 delete
- 格式: delete from 表名;
- 示例: delete from t_stu;
- 注意: 要带上你要删除数据的条件
- 插入数据 insert
- 条件语句
- 作用:如果只想更新或删除一些满足特定条件的记录,那就必须在DML语句后加上一些条件
- 条件语句的常见格式
- where 字段 = 某个值; // 等于某个值
- where 字段 is 某个值; // is 相当于 =
- where 字段 != 某个值; // 不等于某个值
- where 字段 is not 某个值 // is not 相当于 !=
- where 字段 > 某个值
- where 字段1 = 某个值 and 字段2 > 某个值; // and
相当于C语言中的&& - where 字段1 = 某个值 or 字段2 = 某个值; // or
相当于C语言中的||
- DQL(Data Qurey Language)
- 格式
- select 字段1,字段2,… from 表名;
- select * from 表名;
- 示例:
- select name,age from t_stu;
- select * from t_stu;
- select *from t_stu where age > 10; // 条件查询
- 格式
- 查询相关语句
- 统计
- count(X)
- select count(*) from t_stu
- 计算所有记录个数
- select count(age) from t_stu
- 计算age有值的记录个数(Null不计算在内)
- avg(X) 计算某个字段的平均值
- sum(X) 计算某个字段的总和
- max(X) 计算某个字段的最大值
- min(X) 计算某个字段的最小值
- count(X)
- 排序
- 查询出来的结果可以用order by 进行排序
默认按照升序排序(有由小到大 ASC,降序,由大到小 DESC) - 示例:
- select 字段1,字段2 from 表名 order by 字段 ;
- select * from t_stu order by age asc; // 升序,默认
- select * from t_stu order by age desc; 降序
- 也可以用多个字段进行排序
- select * from t_stu order by age asc,score desc //
先按照age升序排序,age相等就按照score降序排序
- select * from t_stu order by age asc,score desc //
- 查询出来的结果可以用order by 进行排序
- limit分页
- 使用limit可以准确地控制查询结果的数量,比如每次只查询10条数据
- 格式: select * from 表名 limit 数值1,数值2;
- 示例:select * from t_stu limit 4,8; //
可以理解为跳过最前面4条语句,然后取8条记录 - limit
常用来做分页查询,比如每页固定显示5条数据,那么应该这样取数据
第n页 - select * from t_stu limit (n-1)*count count; //
count为每页固定显示的数据
- 统计
- 多表查询
- 格式:select 字段1,字段2,…from 表名1,表名2;
- 别名:可以给表或者字段单独起别名 as 可以省略
- 示例:select 字段1 as 字段名1,字段2 as 字段名2 from 表名1 as
别名1,表名2 as 别名2; - 表链接查询
- 格式: select 字段1,字段2,…from 表名1,表名2 where 表名.id =
表名2.id; - 外键
- 如果表1的主关键字是表2中的字段,则称该字段为表2的外键
- 作用:保持数据一致性,完整性,主要目的是控制存储在外键表中的数据.使两张表形成关联,外键只能引用外表中的列的值或使用空值
- 格式: select 字段1,字段2,…from 表名1,表名2 where 表名.id =
如统计每个人的总分,
create database database_name DEFAULT CHARACTER SET
utf8; //创建一个数据库
SQL中有三个表:t_stu、t_sub、t_score
drop database database_name; //删除数据库
需要根据下面的SQL语句,生成一个图
1.1 DOS常用命令
要点一、在表格中插入图后,在EXCEL表格中会生成一个数据图的样式。点击该图,然后,点击菜单数据/属性,在弹出的连接属性窗口中,选择定义标签。命令类型中选择SQL。如下图:
1.1.1 数据库命令
在下面的命令文本框中输入SQL语句:SELECT
t_stu.stu_name,sum(t_score.score) as 总分 FROM
t_stu,t_sub,t_scorewhere t_stu.stu_id=t_score.stu_idand
t_score.sub_id=t_sub.sub_idgroup by
t_stu.stu_name然后点击确定。提示是否修改,点击是。
mysqld install // 安装MySQL数据库服务
要点二在图字段列表中,可以选择要显示的字段,并调整是在横坐标和纵坐标显示。
net start mysql 或 net stop mysql //
启动或停止MySQL服务
如下图:
mysql -u username -p // 登录MySQL管理系统
显示效果图:
use database_name; // 引用数据库
show databases; // 显示所有数据库
source path(.sql文件路径)
//导入数据库文件,生成数据库,即根据sql脚本生成数据库;例如:source
F:mysql.sql
1.1.2 数据表操作命令
show tables; // 显示某数据库中所有表
desc table _name; //显示表的字段信息
show create table table_name; //显示表的创建信息
1.2 查询关系运算符
- =、 !=、 <>、<、<=、>、>=;
- between ····· and ········;
- in(set) ; //set是集合
- is null;is not null
- and ;
- or;
- not;
- like ‘%三’; //%表示任意多个字符,_表示任意单个字符
1.3 内连接和外连接
>内连接:
select t1.id,t1.name,t1.age,t2.score from table1_name
t1 join table2_name t2 on t1.id=t2.id
或:
select t1.name,t1.age,t2.score from table1_name
t1 , table2_name t2 where t1.id=t2.id
>外连接:
select t1.id,t1.name,t1.age,t2.score from table1_name
t1 left join table2_name t2 on t1.id=t2.id //左连接
或:
select t1.id,t1.name,t1.age,t2.score from table1_name
t1 right join table2_name t2 on t1.id=t2.id //右连接
select t1.id,t1.name,t1.age,t2.score from table1_name
t1 full join table2_name t2 on t1.id=t2.id //全连接,MySQL不支持!
1.4 数据库备份和恢复
a. 备份
mysqldump -u root -p123
database_name>d:myDBdemo.sql
b. 恢复
mysql -u root -p123 database_name<d:myDBdemo.sql
或:
进入需要还原到的目的数据库;
source d:myDBdemo.sql
二、基本表的创建
2.1 创建表
数据类型:int,char,varchar,text(字符串类型),blob(字节类型);double(5,2)表示最多5位,其中2位小数。
create table 表名
(
字段名1 数据类型 [not null] [默认值],
字段名2 数据类型,
相关文章
- 澳门新葡8455最新网站:MySQL带O兰德智跑关键字的多规格查询,MySQL带AND关键字的多规格查询
- 慎选数据表-》右键点击-》接纳设计(或许实行节制,则此值必得在被引用列中留存
- 创设表空间,小编以往想把S
- 回去日期date中,Server日期和岁月的格式
- 德姆oUser.然后创建客商并mapping到数据库,那么要怎么准确的去除这个Windows认证账号呢
- 筛选要还原的数据库第二步,张开SQL SEWranglerVETiggo 集团微电脑
- 澳门新葡8455最新网站DATEDIFF(卡塔尔(قطر 函数再次来到八个日子之间的光阴差
- 上边这一个例子是项目中同事写的,D.CatalogName上面那句SQL里面有局地出奇处境
- 澳门新葡8455最新网站什么找寻 sqlserver sa 客商的密码,怎么样找寻 sqlserver sa 客户的密码
- dgpage中Mail重复的笔录并保存近年来一条.,在再一次的记录中