mysql的常用命令。
1.连接数据库服务器mysql: mysql -u root -p(密码)
2.显示数据库信息:show databases;
3.使用数据库:use 数据库名
4.显示表格:show tables;
5.查看表格信息:describe + 表名
6.创建数据库:create database 数据库名
7.创建表:create table 表名(no int,name char)
8.删除数据库:drop database 数据库名
9:删除表格:drop table 表格
今天我们讲了sql(structured query language结构化查询语言)
增加:insert into 表名 values()
清空:delete from 表名
查询:select * from 表名
注:也可以只增加某个值 insert into 表名(当个字段) values()
mysql的数据类型:主要分为三种
1.整型(数值类型)
2.string型
主要讲了char 和 varchar 以及 text 三种
其中char 和 varchar 的区别:
1.保存数据方面:char 不足时数据库存储的时候会自动在后面加空格 而 varchar 不会
2.查询数据方面: 如果后面有空格在查询的时候他会自动去掉也就是没有空格 而varchar
不会有去掉空格
3.长度方面:varchar > char
在列后面强制加字符 用 concat 函数
当需要存储大文本的时候我们就要用text 因为他没有字符限制
3.日期时间型
主要讲了datatime,time,timestamp三种类型
表结构约束:
1.空约束: 语法:字段名 类型 not null
2.默认约束:语法: 字段名 类型 default 默认值
3.主键约束: 语法:字段名 类型,primary key(字段名);
主键的作用:
1. 唯一地标识一行。
2. 作为一个可以被外键有效引用的对象。
主键的特点:
1.不能重复
2.不能为空
4.外键约束: 语法:foreign key() references tempTable();
5.唯一性约束:语法:字段名 类型 unique
1.函数和操作符:
1.比较返回值: 1=true 0=false
2.重要的字符串函数:
1.select concat() from 表名;
2.select left()/right() from 表名;
3.select length() from 表名;
4.select trim()/ltrim()/rtrim() from 表名;
5.select substring(str,start,end) from 表名;
6.select replace(str,search_str,replace_str) from 表名;
3.日期时间型函数:
1.select now();
2.select current_date ()//当前日期
3.select current_time ()//当前时间
4.select current_timestamp ()//当前时间戳
5.select sysdate()
6.select current_timestamp
7.select now() + 0;
2.sql 包括两种语言:
1.数据操纵语言DML:data manipulation language
2.数据定义语言DDL: data define language
其中属于DML的有: select insert delete update
其中输入DDL的有: create drop alter
主要的主要有以下一些:
1.去掉表里面重复的数据: 语法: select distinct 字段,字段(可以有多个) from 表名
2.向表中添加一列: 语法:alter table 表名 add 列名 类型
3.删除一列: 语法:alter table 表名 drop 列名
4.添加主键: 语法:alter table 表名 drop primary key(字段)
5.取消字段: 语法:alter table 表名 drop primary key
6.添加别名: 语法:select name as 别名 from 表名
7.修改列名: 语法:alter table 表名 change 字段 新字段 新字段类型
8.修改表名: 语法:alter table 表名 rename 新表名
9.修改字段的类型: 语法:alter table 表名 modify 列名 数据类型
3.mysql的聚集函数:
1.select count(*) 表示表中的列数 返回的是一个数值
2.select count(某列名) 表示表中的列数但是不包括有null的那一列 返回的也是一个数值
3.select count(distinct 列名1,列名2) 表示表中的列数但是不包括有null的那一列
而且不包括重复的列,返回的也是一个数值
4.取最值: 语法:select max(字段)/min(字段) from 表名
5.取平均值: 语法:select avg(distinct 列名) from 表名
6.求和: 语法:select sun(列名) from 表名
4.查询返回指定的行数:
语法:select * from 表名 limit 开始的前一个数字,几个数字
5.条件查询:
语法:select * from 表名 where 字段=/</>/!=(what) and 字段=/</>/!=(what)
6.删除:
语法:delete from 表名 where 字段=/</>/!=(what)
7.修改:
语法:update 表名 set 字段=新值 where 字段=旧值
今天我们首先我们讲了一下 or 和 in 的用法:
1.or: 语法:select * from 表名 where 字段=‘某值’ or 字段=‘某值’ 与 and 的用法相似;
2.in: 语法: select * from 表名 where 字段 in(某值,某值 ......) 同or的功能
3.not in :语法 select * from 表名 where 字段 not in(某值,某值 ......) 同or的功能
模糊查询:
语法: select * from 表名 where 字段 like '某字%/%某字/%某字%';
如何查询字段值为null或者字段值不为null的数据:又名空查询
语法: select * from 表名 where 字段 is/is not null;
第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值 都是不可再分的最小数据单
位,则称R是第一范式的关系
第二范式(2NF):如果关系模式R(U,F)中的所有非主属性都完全依赖于组合关键字,则称关系R 是
属于第二范式的
不符合第二范式所带来的后果:
1.数据冗余
2.更新异常
3.插入异常
4.删除异常
如果某个字段或多个字段的值可以唯一地标识一条记录,则该字段就称为关键字。
如果一个关键字是用以区别每条记录的唯一性标志,并作为该表与其他表实现关联的,则称为主关键字或 主码。
除主关键字以外的其他关键字称候选关键字。
如有一个表,字段为:
id firstname lastname address phone IDcard
那么id或IDcard或firstname+lastname都可以说是关键字。
其中id为主关键字,IDcard和firstname+lastname为候选关键字
第三范式(3NF):如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递依赖,则称关系R是
属于第三范式的。
select基础
最新推荐文章于 2023-03-30 17:05:40 发布