mysql本地登录
一共三个参数 host : -h 服务器地址(本地地址是localhost)本本机登录可以忽略
user :-u 用户名【一般是root】
password : -p 密码
alter table 表名 AUTO_INCREMENT (id从几开始);
查看版本 status select version();
修改结束符号\d ;
更换字符集charset utf-8 存在不报错 if not exists
数值类型:整形int 小数:decimal(m,n)
字符串:定长char(n) 不定长varchar(n)
时间类型:date 格式:‘YYYY-MM-DD’
datetime 格式:’YYYY-MM-DD HH:MM:SS’
约束:空值:null; 非空约束:not null;
主键约束:primary key; 外键约束:foreign key;
唯一约束:unique;
外键:create table t1(id int,name char(10),pid int,primary key(id),foreign key(pid) references t1(id));
不分正负:unsigned;自增:auto_increment;默认值:default ‘zhangsan’
查看mysql服务下的所有的库:Show databases;
创建一个库:Create database 库名
选择库 : use 库名
进入库之后可以查看这个库中所有表: show tables
创建表 : create table 表名(字段名1 数据类型 字段属性,字段名2 数据类型 字段属性 ……)
插入语句 : 插入语句 使用insert into 关键字
Insert into 表名 (字段名1,字段名2……) values(值1,值2)
注意 : 在前面写字段的时候 一定要与值相对应
表名后面的那个括号里面的字段名可以省略 但是 插入的数据 必须与表中的字段顺序一一对应
能插入多条数据 每一条数据必须用逗号相隔
修改语句 : update 表名 set 被修改好的字段 where 条件
Where 字段 = 值
Where 字段 in (值1,值2,值3)
删除语句 : delete from 表名 where 条件
删除表 : drop table 表名
删除库 : drop database 库名
修改表名 :alter table 表名 rename 新表名
alter table 表名 add 新字符段
alter table 表名 add 新字符段 after 跟随字符段
alter table 表名 add 新字符段 first (将新增字符段放第一行)
alter table 表名 change 原字段 新字段+类型+属性
详细查找 : select * from 表名 where 条件
Where 条件 : where 字段 = 值
Where 条件 : where 字段 in (值1,值2……)
字段查找 : select 字段名 from 表名
运算符查找 : select * from 表名 where 运算条件
运算条件 : 算数运算符 + - * /
比较运算符 > >= < <= !=
逻辑运算符 and(&&)【逻辑与】 or(||)【逻辑或】
模糊查找 : select * from 表名 where 字段 like 条件
模糊查找条件 : _ : 匹配一位任意字符 % : 匹配若干位任意字符
排序查找 : select * from 表名 order by 字段名 条件
排序查找条件 : desc : 倒序 asc : 正序
注意 : 排序查找不使用where 添加条件
区间查询 : select * from 表名 where 字段 between x and y
受限查询 : select * from 表名 limit x,y
X : 代表从哪里开始 Y : 代表查询出多少数据
聚合查询 : select 条件(字段) from 表名
条件 : count :统计个数 sum :求和 max :最大值
min :最小值 avg :平均值
分组查询 : select name(字段),count(*) from 表名 group by name
select name(字段),count(*) from 表名 group by name having 条件
select name(字段),count(*) from 表名 group by name order by
字段 desc limit x,y
表的复制
基于已有数据表创建新表并复制所有数据
create table student1 as select * from student; (CTAS建表方式)
基于已有数据表创建新表并复制部分数据
create table student2 as select * from student where gender=‘女’;
基于已有数据库创建新表仅复制表结构不包括行数据
create table student3 as select * from student where 1=2;
create table student4 like student; (MYSQL专有语法)
where子句对行记录进行过滤
常用算数运算符:+,-,*, / 对应 加,减,乘,除
常用逻辑运算符:and (而且);or(或者);not (非)
常用比较运算符:
= 等于;!=或<>不等于;>大于;<小于;>=大于等于;<=小于等于;
is null为空值;is not null为非空值;
in (值列表) 在值列表中;not in (值列表)不在值列表中;
between 低值 and 高值 (包含低值和高值)在低值和高值之间;
not between 低值 and 高值 (包含低值和高值)不在低值和高值范围内;
like ‘通配符’按照通配符进行匹配;
常用通配符:% 匹配0个或任意多个字符;_ 匹配任意1个字符
?非贪婪匹配所有
查询字符串长度:char_length(str) 截取字符串:substring(str,pos,len)
拼接字符串:concat(str1,str2)
四舍五入:round(num,n) 对数字num进行四舍五入运算,从第n位小数算起
mysql数据定义语言DDL(Data Definition Language),其包括create、drop、alter、show语句
mysql数据操作语言DML(Data Manipulation Language),其包括insert、update、delete语句
mysql数据查询语言DQL(Data Query Language),其包括select语句
mysql数据控制语言DCL(Data Control Language),其包括grant、revoke语句
mysql事物语言DTL(Data Transaction Language),其包括commit、rollback等语句