# 编码:
1. 查看创建数据库时设置的编码格式:
  shwo create database 数据库名;
2. 查看创建表时所设置的 编码格式 和 字段详细
  show create table 表名;
3. 修改数据编码格式/修改表的编码格式
    # gbk collatb gbk_chinese_ci;
库:alter database 库名 character set utf8 collate utf8_general_ci;
表:alter table 表名 character set utf8 collate utf8_general_ci; 注:
凡是带select 的不会修改表中的数据 只是将数据列出来 在数据中查询null 不能用等号 要用 xx is null 如果null 参与计算 那么返回的只会是 null
查询一个字段:
select name from class;
查询多个字段:(逗号隔开)
select name,name,name from class;
//name:查询的字段 class:查询的表名
计算:
select name,age*10 from class;
select name,age*10 size from class; 带有条件的查询: 等于:= ; 不等于:<>/!=; between ..and.. :两个值之间 is null :为null(is not null不为空) 并且: and; 或者: or;
(and和or同时存在and优先级高 解决优先级问题可以加 ()括号) in: 包含,相当于多个 or (not in :不在这个范围中) not : not可以非取,主要用在 is 或者 in 中 模糊查找:like like '%p%' : 百分号是一个占位符 意思是从 0 到 n 个任意字符
//like 'p%' 以p 开始的 like'%p' 以p结尾的 like '_p%' : 下划线代表任意一个字符
//'__p%' 第二个字母为p 的字符 '%p_' 倒数第二个字母为p的字符 select name,age from class where age = 15;
//找到age 为 15 的数据 select name,age from class where age between 15 and 20;
//找到age 为 15 和 20 的数据
//注: between 中 第一个数字 必须 小于 第二个数字 排序(默认升序):
排序采用 order by 子句 ,order by 后面跟上排序字段 多个用逗号隔开
如果where子句存在 那么 order by 必须排在 whrer 语句的后面 select users.sal from emp order by sal asc; //asc 升序
//users里面的sal
select users.sal from emp order by sal desc;//desc 降序 select * from emp order by sal asc;(所有的)
如果前面相等 后面 的按照ename 的降序排序
select users.sal from emp order by sal asc, ename desc; //asc 降序 数据处理函数/单行处理函数
lower : 转换小写
select lower(ename) as ename from emp;
//as xx 重命名 upper : 转换大写
select upper(要转换的列名称) as from 要转换的列名称 要转换的表名称; substr : 截取字符串
select substr(被截取的字符串.起始下标.截取长度) from emp; length : 取长度
select length(ename) from emp; trim : 去除前后空白
select ename from emp where enmae = trim(' zs '); round : 四舍五入 (两个参数 : 要四舍五入的数字 , 四舍五入的位数)
select round(123.456,1); //结果: 123.5 rand : 生成随机数
select rand();
生成100以内的数字
select round(rand()*100); ifnull : 可以将null转换成一个值 (空值处理函数)
select ename.ifnull(comm,0) as comm from emp;
//把comm为空的 设置为 0 并且 将 表名称 改为 comm //年薪
select ename.(sal + ifnull(comm,0)) * 12 as yearsal from emp;
月薪+补助 查看版本号:select version(); 查看表的创建语句: show create table users; str_to_date('日期字符串','日期格式') str_to_date 函数通常使用在插入操作中, 字段是date类型,不接受字符串varchar类型,
需要通过该函数将varchar变成date在出入数据,才能成功 %Y 年
%m 月
%d 日
%H 时
%i 分
%s 秒 MYSQL默认的日期格式 : %y-%m-%d;
select ename,hiredate from emp where hiredate = '1981-12-17'; 调整格式:
select ename,hiredate from emp where hiredate = str_to_date( '1981-12-17',%Y-%m-%d); //查询1981-12-17 入职的人 date_format(时期类型数据,'日期格式') data_format// 将日期类型data转成特定的日期字符串varchar select ename,date_format(hiredate,'%m-%d-%y') as hiredate from emp; 分组函数:
分组函数不能直接使用 where 语句中 sum(); //求和 (自动忽略 null(空值))
select sum(age) from class;z max(); //最大值 (自动忽略 null(空值))
select max(age) from class; min(); //最小值 (自动忽略 null(空值))
select min(age) from class; avg(); //平均值 (自动忽略 null(空值))
select avg(age) from class; count(); //统计数据 在这个字段(age)中 数据不为空的总和 (自动忽略 null(空值))
select count(age) from class; count(*);//满足这个条件的 记录总和 (个数)
select count(*) from class where age is null; distinct //查询结果中 去除重复记录 ( 只能出现所有字段的最前方 )
select distinct age from class; having :
having 和 where 功能都是为了完成数据的过滤
having 和 where 后面都是添加条件
where 在 group by 之前完成过滤
having 在 group by 之后完成过滤 分组查询:
order by : 表示通过哪个或者哪些字段进行 排序 group by : 表示通过哪个或者哪些字段进行 分组
//分组的第一列会进行排序 (从小到大,从a-b)
//如果有where 在 group by 之前 就会无法执行 select
job,avg(m) job列,age(m) m的平均值
from
class
group by 写在后面
job
having
avg(m) > 1500; 一个完整的 DQL 语句总结: 以下关键词顺序不能换: select
...
from
...
where
...
group by
...
having
...
order by
... 执行顺序:
1.from 从某张表中检索数据
2.where 经过某条件进行过滤
3.group by 然后分组
4.having 分组后如果不够继续过滤
5.select 查询出来
6.order by 排序输出 连接查询:
查询数据的时候都只是从一张表中检索数据,被称为单表查询 在实际开发中,数据并不是储存在一张表中的,实在多张表中 这些表 和 表 之间存在关系, 我们要检索数据的时候需要将 多张表联合起来取得有效数据,这种夺标查询被称为
连接查询 或 跨表查询 SQL92语法: 内连接中的等值连接
select e.ename,d.dname from emp e, dept d where e.deptno = d.deptno;//后面可以继续加 and..
(要查询表内数据的名字) (要查询的表) (过滤条件) //过滤条件是 :两个表中都有对应的 相同 序号 而且 一一相对 //在跨表查询的时候 给 表内的数据名起个特殊的名字 : e.enmae , d.dname , c.cxxx; SQL99语法: 内连接中的 等值连接 (用的多) 优点: 表连接独立出来了 , 结构更清晰 如果还需条件的话还可以继续 where 进行过滤 两种写法都一样: 完整写法 : select e.ename,d.dname from emp e inner join dept d on e.deptno = d.deptno; 分解: select a.表一中某一列名字,b.表二某一列名字 from 表一名字 a inner join 表二名字 b on 过滤项 inner可省略 : select e.ename,d.dname from emp e join dept d on e.deptno = d.deptno;//可以继续 where...
//on是表连接的条件 select name,age from class1 name having age <20; select name,age from class1 name having age <20; 查询一个班级的总人数:
可以通过 sex(性别) 来查询 1 = 男 , 2 = 女; mysql> select sex,count(*) as people from class1;
+------+--------+
| sex | people |
+------+--------+
| 1 | 6 |
+------+--------+ 多张表进行连接的语法格式: select
xxx
from
a
join
b
on
条件
join
c
on
条件; 原理:
a 先和 join b 进行连接 结束后 a 在和 c 进行连接 select a.xx,b.xx,c.xx from class a join class b on a.d = b.d join class c on xx between xxx and xxx update: 如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作: 语法:
UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause] update table(表格名字) set field1(列名) = new value1(当前列的新内容) where(后面判断) peo = 1; update 语句可用来修改表中的数据, 简单来说基本的使用形式为: update 表名称 set 列名称=新值 where 更新条件; union: 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。 SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]; 参数: expression1, expression2, ... expression_n: 要检索的列。 tables: 要检索的数据表。 WHERE conditions: 可选, 检索条件。 DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。 ALL: 可选,返回所有结果集,包含重复数据。 with rollup : WITH ROLLUP 可以实现在分组统计数据基础上再进行相同的统计(SUM,AVG,COUNT…)。 mysql> SELECT name, SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;
+--------+--------------+
| name | singin_count |
+--------+--------------+
| 小丽 | 2 |
| 小明 | 7 |
| 小王 | 7 |
| NULL | 16 | 其中记录 NULL 表示所有人的登录次数。 我们可以使用 coalesce 来设置一个可以取代 NUll 的名称,coalesce 语法: select coalesce(a,b,c); 参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义) mysql> SELECT coalesce(name, '总数'), SUM(singin) as singin_count FROM employee_tbl GROUP BY name WITH ROLLUP;
+--------------------------+--------------+
| coalesce(name, '总数') | singin_count |
+--------------------------+--------------+
| 小丽 | 2 |
| 小明 | 7 |
| 小王 | 7 |
| 总数 | 16 | left join: 会将查询列中 左边的 所有项显示 即使 没有对应的 值(如果没有对应的值的话会显示 null) right join : 会将查询列中 右边的 所有项显示 即使 没有对应的 值(如果没有对应的值的话会显示 null) mysql> SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a RIGHT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author;
+-------------+-----------------+----------------+
| a.runoob_id | a.runoob_author | b.runoob_count |
+-------------+-----------------+----------------+
| 1 | 菜鸟教程 | 10 |
| 2 | 菜鸟教程 | 10 |
| 3 | RUNOOB.COM | 20 |
| 4 | RUNOOB.COM | 20 |
| NULL | NULL | 22 |
+-------------+-----------------+----------------+ 事务: begin 开始一个事务 rollback 事务回滚 commit 事务确认 alter : 修改默认值:
ALTER TABLE testalter_tbl(表名) ALTER i(表列名) SET DEFAULT(设置默认值) 1000; 删除字段默认值:
ALTER TABLE testalter_tbl(表名) ALTER i(表列名) DROP(删除) DEFAULT(删除表中 i 的 deffault 这一项 (设置完后会 null) 修改表名:
ALTER TABLE testalter_tbl RENAME TO alter_tbl; alter其他用途: 修改存储引擎:修改为myisam alter table tableName engine=myisam; 删除外键约束:keyName是外键别名 alter table tableName drop foreign key keyName; 修改字段的相对位置:这里name1为想要修改的字段,type1为该字段原来类型,first和after二选一,这应该显而易见,first放在第一位,after放在name2字段后面 alter table tableName modify name1 type1 first|after name2; 子查询:
子查询就是 select嵌套select 子查询:(where 后面 使用子查询)
select ename,sal from emp where sal > (select avg(sal) from emp) 子查询:(from 后面 使用子查询) 技巧: 将查询结果当做临时表 select
t.deptno,t.avgsal,s.grade
from
(select deptno,avg(sal) as avgsal from enp group by deptno) t //当做临时表t
join
salgrade s
on
t.avgsal between s.losal and s.hisal; limit:
1.limit 用来获取一张表中的部分数据 2.limit 只能在mysql数据库中存在 语法: limit 起始下标,要获取的长度
默认从零开始 , 零表示 表中的 第一条记录 示:
找出员工表中的前五条数据:
select ename from emp limit 5; 等同 select ename from emp limit 0,5; 5表示从表中记录下标0开始,取五条 找出年龄最大的3个人:
select name,age from class1 order by age desc limit 5;
+------+------+
| name | age |
+------+------+
| dy | 30 |
| vc | 25 |
| bb | 20 |
| aa | 17 |
| ls | 14 |
+------+------+ mysql 中通用的分页(只适合于Mysql数据库管理系统) select
t.* // t 表中的全部
from
t // t 表
order by
t.x sal/desc //t 表中的某一个字段 升序/降序
limit
(pageNo - 1) * pageSize,pageSize; 解析:
每一页显示三条数据
起始下标,获取的长度 第一页: 0,3
第二页: 3,3
第三页: 6,3
第四页: 9,3
... 约束(constraint): 约束是对表中的数据的限制条件 约束语句:
非空约束 not null
唯一性约束 unique
主键约束 primary key 简称:pk
外键约束 foreign key 简称:fk
检查约束 目前Mysql不支持,oracle数据库支持 一.非空约束:
not null 约束字段,不能为Null值,必须给定具体的数据 示: 创建表,给字段添加非空约束(创建用户表,用户名不能为空) drop table if exists t_user; //如果没有 t_user 这个表就删除 如果有就 不删除 create table t_user(
id int(10),
name varchar(32) not null,//限制不能为空
email varchar(128)
); insert into t_user(id,name,email) values (1,'jack','111@qq.com'); 如果这里 name为空的话 会报错 (not null的限制) 二.唯一性约束
unique 约束的字段具有唯一性,不可重复 示: 创建用户,保证邮箱唯一
列级约束:
drop table if exists t_user;
create table t_user(
id int(10),
name varchar(32) not null,
email varchar(128) unique //email 这个字段中的内容 不能有重复的
);
insert into t_user(id,name,email) values (1,'jack','jack@qq.com');
当email重复时就会无法执行(会报错)
insert into t_user(id,name,email) values (2,'zs','jack@qq.com'); 示:
表级约束:
drop table if exists t_user;
create table t_user(
id int(10),
name varchar(32) not null,
email varchar(128),
unique(email) //单独分离出来
); //使用表级约束给多个字段联合添加约束
drop table if exists t_user;
create table t_user(
id int(10),
name varchar(32) not null,
email varchar(128),
unique(name,email) //这段意思是 name和email 两个字段 联合起来不能重复
); insert into t_user(id,name,email) values(1,'abc','abc@qq.com'); //输出结果:ok
insert into t_user(id,name,email) values(2,'abcd','abc@qq.com');//输出结果:ok
name和email 可以单独 的 可以重复 但是一旦联合起来 就不能重复
insert into t_user(id,name,email) values(3,'abc','abc@qq.com'); //输出结果:no 给约束起名字:
如果需要需要删除某个约束 , 那么就需要通过 一个名字找到对应的约束进行删除
步骤:
1.创建名字
create table t_user(
id int(10),
name varchar(32) not null,
email varchar(128),
起名字: constraint t_user_email_upique unique(name,email)
//约束的英文词 //给约束起的名字 //约束(要约束的字段)
); 2.使用下面这个库
use information_schema; 3.找到 TABLE_CONSTRAINTS 注: 这张表中专门存储约束信息 4.查询 desc TABLE_CONSTRAINTS 的表结构 5.找到 constraint_name(所有约束的名字) 6.执行这个语句 :
select constraint_name from table_constraints where table_name='t_user';
当 表名字等于 't_user' 的时候 查询 其中的 constraint_name 表约束 not null 和 unique 的联合使用 //既不能为空,也不能重复 示:
drop table exists t_user;
create table t_user(
id int(10),
name varchar(32) not null unique
); 三.主键约束 primary key 简称pk 1.主键涉及到的术语:
主键约束
主键字段
主键值
2.三者关系:
表中的 某个字段 添加 主键约束 后,该字段 被称为主 键字段,
主键字段中出现的 每一个数据 都被称为 主键值 用法: 给一个字段添加主键约束,被称为单一主键 //列级定义方式
drop table if exists t_usre;
create table t_user(
in int(10) primary key; //添加主键
name varchar(32)
); //表级约束
drop table if exists t_usre;
create table t_user(
in int(10),
name varchar(32),
primary key(id); //添加主键
); //单一主键 标记主键 起名:
drop table if exists t_usre;
create table t_user(
in int(10),
name varchar(32),
constraint t_user_id_pk(这是表名) primary key(id); //添加主键
); 注: 给多个字段联合添加一个主键约束,被称为符合主键
但: 无论是 单一主键 还是 复合主键 ,一张表中主键约束只能有一个 复合主键(表级约束):
drop table if exists t_usre;
create table t_user(
in int(10),
name varchar(32),
primary key(id,name); //添加主键
); 复合主键(表级约束 起名字):
drop table if exists t_usre;
create table t_user(
in int(10),
name varchar(32),
constraint t_user_id_pk(这是表名) primary key(id,name); //添加主键
); 3.给某个字段添加 primary key 后,该字段不能重复,并且也不能为空,
效果和 not null upique 约束相同,但是本质不一样,主键字段还会默认添加"索引-index" 4.一张表应该有主键字段,"主键值"是当前行数据的唯一标识,"主键值"是当前行数据的身份证号
即使表中两行记录相关的数据是一样的,但是由于主键值不同,我们可以认为这是两条不同完全的数据 5.主键根据性质分类:
自然主键:(用的多)
主键值若是一个自然数,这个自然数和当前表的业务没有任何关系,这种主键叫做自然主键 业务主键:
主键值和当前表中业务紧密相关的,这种主键叫做业务主键,当业务主键发生改变的时候,
主键值通常会受到影响 6.在mysql数据库管理系统中提供了一个自增的数字,专门用来自动生成主键值,
主键值不需要维护,也不需要用户提供,自动生成,这个自增的数字默认从1开始,以此递增1,2,3,4... drop table if exists t_usre;
create table t_user(
in int(10) primary key auto_increment, //添加主键的自增值(auto_increment)
name varchar(32),
);
insert into t_user(name) values('jack');
insert into t_user(name) values('jack');
insert into t_user(name) values('jack');
select * from t_user; 三: 外键约束 foreign key 简称fk 1.外键涉及到的术语:
外键约束
外键字段
外键值 2.三者关系:
某个字段添加外键约束后,该字段称为外键字段
外键字段中的每一个数据都是外键值 3.外键也分为 : 单一外键(给一个字段添加外键约束) 和 符合外键(给多个字段添加一个外键约束) 4.一张表中可以有多个外键字段 理解:
为了保证a表中的className数据都来自 b表中的 class 字段中的数据,
有必要给a表中className 字段添加外键约束,className字段被称为 外键字段,
该字段 中 的值 被称为外键值 注:
外键值可以是null 外键字段去引用一张表中的某个字段的时候,被引用的字段必须有unique约束 有了外键引用之后,表分为父表和子表,被引用的是父表,引用的表示子表,
创建表时先创建父表,再创建子表,删除数据的时候,先删子表中的数据,在删父表中的数据
插入数据的时候 先插入父表中的数据,在插入子表中的数据 示:
drop table if exists t_student; drop table if exists t_class; create table t_class( cno int(3) primary key, cname varchar(128) not null unique ); create table t_student( sno int(3) primary key, sname varchar(128) not null unique, classno int(3), constraint t_student_classno_fk foreign key(classno) references t_class(cno)
//起的名字 这是一个外键 引用的是 t_class 表中的 cno ); insert into t_class(cno,cname) values(100,'one'); insert into t_class(cno,cname) values(200,'two'); insert into t_class(cno,cname) values(300,'three'); insert into t_student(sno,sname,classno) values (1,'jack',100); insert into t_student(sno,sname,classno) values (2,'ls',100); insert into t_student(sno,sname,classno) values (3,'whh',200); insert into t_student(sno,sname,classno) values (4,'xm',200); insert into t_student(sno,sname,classno) values (5,'cq',300); insert into t_student(sno,sname,classno) values (6,'ff',300); insert into t_student(sno,sname,classno) values (7,'cc',300); 内连接 与 外链接 的区别: 内连接:
a表 和 b表 只能 将 够匹配的 数据匹配出来 不匹配的数据 就不会显示 外链接:
a表 和 b表 会将 能够匹配的 和 不能够匹配 的数据全部查询出来 # mysql 数据类型
1. varchar(长度) :
varchar(3)表示存储的数据不能超过三个字符长度 两者区别: varchar 会根据数据的实际长度进行分配 节省空间 但是分配的时候 需要执行判断程序 ,效率低
char 不需要动态分配空间 给多少就 使用多少 效率高 但是对导致空间浪费0 2. char(长度):
char(3) 表示存储的数据不能超过三个字符长度 3. int: 整数型
int(3) 表示最大可以储存999 4. bigint: 长整型
对应java的 long类型 5. float : 浮点型单精度 6. double : 浮点型双精度 7. data : 日期类型
在实际开发中为了通用,一般不使用日期类型,采用字符春代替日期的比较多 8. blob : binary large object 二级制大对象
专门存储图片声音视频等数据
存储图片很常见,但是存储大的视频 一般都是提供一个视频的连接地址 9. clob : character large object 字符大对象
可以存储比较大的文本, 4G+ 的字符串可以存储 not in : 不会自动忽略空值 in : 会自动忽略空值 如果在 not in 的查询结果中有空值 那么,会影响查询结果, 需要手动 排空值 加个判断: where 名字 is not null # 数据库导出
window 的 dos 命令下: //导出整个数据库
mysqldump 库名>D:\库名.sql-u root -p123;
//路径 //导出指定库下的指定表
mysqldump 库名 表名>D:\库名.sql -u root -p123 //导入 登陆Mysq数据库管理系统之后执行:
source D:\库名.sql 级联更新和级联删除:(谨慎使用)
在删除父表中数据的时候,级联删除子表中的数据 on delete cascade
删除外链约束:
alter table t_student drop foreign key t_student_classno_fk; 添加外链约束:
alter table t_student add
constraint t_student_classent_fk
foreign key(classno) references t_class(cno) on delete cascade; 在更新父表中数据的时候,级联更新子表中的数据 on update cascade 数据库设计三范式: 注:
设计数据库表的时候所依据的规范: 1.要求有主键,并且要求每一个字段原子性不可再分 2.要求所有非主键字段完全依赖主键,不能产生部分依赖 3.所有非转字段和主键字段之间不能产生传递依赖 # 事务 1.事务只和 数据操作有关系
要么全部执行
要么全部不执行 注: 在事务进行过程中,未结束之前,DML语句是不会更改底层数据库文件中的数据,
只是将历史操作记录一下,在内存中完成记录,只有在事务结束的时候,而且是
成功结束的时候才会修改底层硬盘中文件的数据; 2.事务四个特征(ACID):
原子性:
事务是最小的工作单元
一致性:
事务要求所有的DML(数据操作)语句操作的时候,必须是同时成功,或者同时失败
隔离性:
事务A和事务B之间具有隔离
持久性:
是事务的保证,事务终结的标志 (内存中的数据持久到硬盘文件中) 3.术语(不是SQL语句):
开始事务:
start transaction
事务结束:
end transaction
提交事务:
commit transaction
回滚事务:
rollback transaction 4.和事务有关的SQL语句:
begin; 开始
commit; 提交
rollback; 回滚 5.事务开始的标志,事务结束的标志:
开始:
任何一条DML语句(insert update delete)执行,标志事务的开始。 结束:
注:提交 或者 回滚 任何一条语句 都会结束 事务 提交:成功的结束,将所有的MDL语句操作历史纪录和底层硬盘文件中的数据来一次同步。
回滚:失败的结束,将所有的DML语句操作历史记录全部清空; 可以隐藏表的字段 create view deptview as select deptno as a.dname as b.loc as c from dept; ------------------------|
a b c |
|
xxx xxx xxx |
|
------------------------| create view myview as DQL //只能跟查询语句 索引需要维护! 什么情况下需要添加索引:
1.该字段数据量庞大
2.该字段很少进行DML操作[DML操作多的话,索引需要不断的维护,效率低下]
3.该字段经常出现在where条件中 创建索引: //添加unique 表示dept表中的dname字段添加一个唯一性约束
1.create unique index 索引名 on 表名(列名);
create unique index dept_dname_index on dept(ename); 2.alter talble 表名 add unique index 索引名 (列名);
create index test_index on emp(sal); 删除索引:
1.drop index index_name on table_name; //删掉table_name 中的索引index_name 2.alter table table_name drop index index_name; //删掉table_name 中的索引index_name 3.alter table table_name drop primary key; //删除primary key 索引时使用,
因为一个表只可能只有一个primary key 索引 # 引擎 myisam : 适合大量的数据 读而少量数据更新的混合操作 , myisam 表的另一种适用情形是适用压缩的读表
不支持事务 innodb : 如果查询中包含较多的数据更新操作,应使用 innodb;
支持事务,并且mysql崩溃后 会有数据保存(备份); memory : 可以使用 memory 来存储给非永久的需要的数据,或者是能够从基于磁盘的表中重新生成的数据;

mysql - 所有笔记的更多相关文章

  1. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  2. MySQL学习笔记一

    MySQL 学习笔记 一 一.数据库简单介绍 1. 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: Ø 网状型数据库 Ø 层次型数据库 Ø 关系型数据库 Ø 面向对象数据库 上面4中数据库系 ...

  3. MYSQL基础笔记(六)- 数据类型一

    数据类型(列类型) 所谓数据烈性,就是对数据进行统一的分类.从系统角度出发时为了能够使用统一的方式进行管理,更好的利用有限的空间. SQL中讲数据类型分成三大类:1.数值类型,2.字符串类型和时间日期 ...

  4. MYSQL基础笔记(五)- 练习作业:站点统计练习

    作业:站点统计 1.将用户的访问信息记录到文件中,独占一行,记录IP地址 <?php //站点统计 header('Content-type:text/html;charset=utf-8'); ...

  5. MYSQL基础笔记(四)-数据基本操作

    数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. i ...

  6. MYSQL基础笔记(三)-表操作基础

    数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...

  7. MYSQL基础笔记(二)-SQL基本操作

    SQL基本操作 基本操作:CRUD,增删改查 将SQL的基本操作根据操作对象进行分类: 1.库操作 2.表操作 3.数据操作 库操作: 对数据库的增删改查 新增数据库: 基本语法: Create da ...

  8. MYSQL基础笔记(一)

    关系型数据库概念: 1.什么是关系型数据库? 关系型数据库:是一种建立在关系模型(数学模型)上的数据库 关系模型:一种所谓建立在关系上的模型. 关系模型包含三个方面: 1.数据结构:数据存储的问题,二 ...

  9. MySQL入门笔记

    MySQL入门笔记 版本选择: 5.x.20 以上版本比较稳定 一.MySQL的三种安装方式: 安装MySQL的方式常见的有三种: ·          rpm包形式 ·          通用二进制 ...

  10. MySQL函数笔记

    MySQL函数笔记 日期函数 SELECT t1.xcjyrq, t1.* FROM view_sbxx t1 WHERE t1.syzt ; SELECT t1.xcjyrq, t1.* FROM ...

随机推荐

  1. [SVN] - 使用 TortoiseSVN 进行文件比对非常慢 之 解决

    背景 Windows 10 + TortoiseSVN-v1.9.7使用默认的 TortoiseMerge 进行文件比对,打开速度非常非常慢. 解决 禁用 TortoiseMerge / Settin ...

  2. hugepage设置

    1.设置memlock 编辑/etc/security/limits.conf 增加: * Soft memlock 稍小于RAM值 * hard memlock 稍小于RAM值 Memlock,锁定 ...

  3. Python socket 编程(1)

    服务端的创建: import socket server = socket.socket() # 创建一个socke对象 server.bind(('192.168.101.5', 8001)) # ...

  4. Python学习路线图【转载】

    文章来源:https://blog.csdn.net/u014044812/article/details/88079011

  5. opencv模块学习

    一.简介 ''' 分辨率(resolution,港台称之为解析度)就是屏幕图像的精密度,是指显示器所能显示的像素的多少.由于屏幕上的点.线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同 ...

  6. 列主元消去法&全主元消去法——Java实现

    Gauss.java package Gauss; /** * @description TODO 父类,包含高斯列主元消去法和全主元消去法的共有属性和方法 * @author PengHao * @ ...

  7. 通用32位CPU 常用寄存器及其作用

    目录 32位CPU所含有的寄存器 数据寄存器 变址寄存器 指针寄存器 段寄存器 指令指针寄存器 标志寄存器 32位CPU所含有的寄存器 4个数据寄存器(EAX.EBX.ECX和EDX) 2个变址和指针 ...

  8. go context 源码分析

    WithCancel func WithCancel(parent Context) (ctx Context, cancel CancelFunc) { c := newCancelCtx(pare ...

  9. PB笔记之日期函数

    https://wenku.baidu.com/view/a0d5f16fb84ae45c3b358cc7.html this.object.yjzzrq[row]= RelativeDate(dat ...

  10. Spring依赖配置详解

    <properties> <junit.version>4.12</junit.version> <spring.version>4.3.9.RELEA ...