笔记
mysql
DDL
基础+重点:
1.创建和修改盛放数据的容器(数据定义DDL)
2.表中添加、修改、删除数据(数据操作DML)
3.表中数据多条件查询 (数据查询DQL) 核心内容
扩展和拔高
4.事务启动、提交和回滚(事务控制TCL)
5.账号创建、权限控制(数据控制DCL)
mysql登录
1.登陆之前先确认安装好了mysql环境,要知道如何查看安装是否完成
2.配置好环境变量,在终端窗口中输入mysql -V的时候能够显示出来当前版本
3.下面就是登陆mysql的代码
mysql -u root -proot -h127.0.0.1 -p 3306
这里的意思呢就是:-u 表示账号,内容可以与u紧贴也可以空格
-p 表示密码内容必须紧贴p
-h 表示ip地址,127.0.0.1表示本机,当然也可以是别的电脑,就是要将别的电脑的ip拿到并且端口也需要拿到
-p 表示端口号,一般在不改的情况下端口都在本机的3306
然后上面的这个操作是比较全的,一般的操作只需要操作前两个账号密码填写好就行
安装navcat
DDL
增加
库查看和切换(查看)
数据库修改
修改字符集: alter database 数据库名 character set 字符集
修改排序方式: alter database 数据库名 collate 排序方式
修改字符集和排序方式: alter database 数据库名 character set 字符集名 collate 排序方式
数据库删除
删除数据库: drop database 数据库名称
判断删除: drop database if exists 数据库名
创建表:
create table 表名 (
列名 类型 [列可选约束],
列名 类型 [列可选约束] [COMMENT 列可选注释]
)[表可选约束] [COMMENT '表可选择注释']
create table[if not exists] 表名 (
列名 类型 [列可选约束],
列名 类型 [列可选约束] [COMMENT 列可选注释]
)[表可选约束] [COMMENT '表可选择注释']
下面是示例:
create table if not exists book_libs(
book_name varchar(20) comment '书名',
boo_price double(4,1) comment '价格',
book_num int comment '数量'
)character set utf8mb4 commnet '图书表'
mysql中可以使用的数据类型
整数类型介绍
支持从1字节-8字节的数据类型,
1字节的TINYINT tinyint, 范围就是一个字节8bit,也就是最大值是255
2字节的SMALLINT smallint,最大存储范围以此类推
3字节的MEDIUMINT mediumint,最大存储范围以此类推
4字节的int,最大存储范围以此类推
8字节的BIGINT bigint ,最大存储范围以此类推
注意!:上面的5种数据类型,有sql语句也有mysql自己定义的语句,也就说有的只能在mysql中用,有的能够在所有的sql中使用
int,integer,smallint 是sql语句通用
剩下的是mysql独有
浮点数和定数类型
浮点类型(float,double)
float(m,d) 4字节, m最多24位 d最多8位
double(m,d) 8字节, m最多53位 d最多30位
定值类型
decimal(m,d) 动态占有 m最多65位, d最多30位
看逻辑,如果需要非常精确涉及到钱的就使用decimal类型,他的精度很高. 如果就是普通身高什么的就可以使用float或者double
字符类型
char 和 varchar
1.char声明的时候可以不写m char =char(1)
2.char声明了最大长度限制,输入的文本长度小于声明限制会在右侧补全空格,但是在拿出来的时候这个系统添加上去的空格会自动删除
3.varchar声明的时候必须添加字符限制m , varchar(20),但是呢一行varchar能够存储的最大字符量是65535/4,一万多个字符
时间类型
四大类型的介绍
添加表
修改删除表
修改表中列:
1.添加列 alter table 表名 add 列名 数据类型 [first|after 原列名]
2.修改列名 alter table 表名 change 原列名 新列名 新数据类型 [first|after 原列名]
3.修改列类型 alter table 表名 modify 列名 新类型 [first|after 原列名]
4.删除列 alter table 表名 drop 列名
修改表名: alter table 表名 rename 新表名
删除表: drop table if exists 表名
清空表: truncate table 表名
查看表:Desc 表名
DML
数据操作语句(DML)介绍:
DML用于数据库数据插入,删除,更新三种操作.
DML不影响库表结构,但是会影响到真正的数据.
DML关键字: insert(增) update(改) delete(删)
数据操作最基本单位是行,也就是说上面的三个操作语句针对的都是行数据
增(insert)
插入数据语法:
情况1: 为表的第一行所有字段(列)插入数据
insert into 表名 values (value1,value2...valuen)
情况2:为表指定字段(列)插入数据
insert into 表名(列名1,列名2,...列名n) values (value1,value2...valuen)
情况3:同时插入多条记录
insert into 表名 values (value1,value2...),(value1,value2...) //后面的一个括号就是一行
insert into 表名(列名1,列名2...) values (value1,value2...),(value1,value2...) //后面的一个括号就是一行
改(update)
情况1:修改表中所有行数据(全表修改)
update tablename set column1=value1,column2=value2,column3=value3
更改表中所有行的指定列数据
情况2:修改表中符合条件的数据(条件修改)
update tablename set column1=value1,column2=value,column3=value3 [where condition]
条件修改就是在后面加上where,where后面加上条件就行了
删(delete)
情况1:删除表中所有行数据
delete from 表名 //删除次表所有行数据
情况2:删除表中符合条件的行数据
delete from 表面 where 条件
DQL(单表)
基础select语法
情况1:指定表
select 列名1,列名2,列名3 from 表名
select 表名.列名1,表名.列名2 from 表名
select * from 表名 //查询此表所有数据
情况2:查询列起别名
select 列名1 as 别名1,列名2 as 别名2 from 表名
select 列名 别名,列名1 别名1 from 表名
情况3:去除重复行
select distinct 列名1,列名2,列名3 from 表名 //像这种查询三列去重就是三列字段都一样才会被去重.不一样就不去重
select distinct 列名 from 表名 //单列去重
情况4:查询常数
select '帅哥' as corporation,列名1,列名2...from 表名 //表名将帅哥作为一个常数列,添加到每一行
这里有个问题,就是查询里面有* ,那么他需要放在最前方
查询当前时间
select now() //就会返回当前时间
浙公网安备 33010602011771号