mysql数据库基本语法_mysql数据库基础语法操作
mysql默认端口号:3306
mysql登录:mysql -u 用户名 -p 密码
创建数据库:create database t1 if not exist; 创建一个名为t1的数据库
显示所有数据库:show databases; 显示所有数据库
修改数据库: alter database 数据库名称 character set =gbk 修改数据库编码方式
删除数据库:drop database if exists 数据库名称
打开数据库:use 数据库名称
数据表操作:
创建数据表:create table [i f not exist] table_name(column_name data_type,)
eg: craete table tb1(name varchar(20) not null,age TINYINT UNSIGNED, salary Float(8,2) UNSIGNED)
主键约束:primary key,自动not null 每张表只能一个,各记录在该字段的值不重复
约束:unique key约束字段可以为null,每张表可以存在多个约束,各记录在该字段下的值不为空
默认约束:default 默认值 ...default 值
外键约束:保持数据一致性和完整性 foreign key,可设置与父表操作时的关系 cascade,set null
eg:create table users(id smallint unsigned primary key auto_increment, username varchar(20),not null, pid bigint, foreign key pid references 另外一张表 另外一张表的列名(必须有索引),数据类型必须相同)
auto_increment: 自动编号,默认情况下起始值为1,只能用在主键字段之后
数据表的修改
添加单列:alter table users1 add age tinyint unsigned not null
添加多列:alter table users add (age tinyint,surname varchar(20))
删除列: alter table users drop 列名,drop 列名 删除多列,逗号分割
修改列定义:alter table users modify 待修改字段定义
修改列名: alter table users2 change 旧列名 新列名
数据表更名 alter table users rename 新表名
查看数据库中的数据表:show tables from 数据库名
查看数据表的结构:show columns from 数据表名
插入记录:insert [into] 表名 [(column_name,...)] values(val,...)给指定字段赋值, 如果要给所有字段赋值,列名可以省略
insert 表名 set 列名=值,列名=值,。。。
insert 表名 [列名逗号分割] select 将select查询内容作为插入内容
更新记录:update 表格 set 列名=值,列名=值 where....
删除记录:delete from 表名 where。。。
记录查找:select .... from 表名 eg:select * from tbl * 表示所有列
select 列名1,列名2,... from 表名
group by 列名 [ASC|DESC] [数字(表示取结果中的第几个)]结果中只有列名所在列的所有值去重后的结果,如查询性别,只会出现男女两条结果
having 条件 eg:having count(id)>5
order by 列名 [asc|desc],列名 [asc|desc]多个列进行排序输出
limit限制返回结果的条数 eg:limit [起点,默认是0],条数
子查询:嵌套在查询内部的查询,必须在括号内 可以返回标量 一行 多行
使用比较运算符的子查询:eg select * from goods where prices>=(select AVG(prices) from goods)
select * from goods where prices>any(select prices from goods)如果子查询返回多条结果,则可用any(任何一个满足条件即成立),all(全部都要满足条件才成立),some(任何一个满足条件即可)
其他比较运算符> <= >= <=
in/not in 引发的子查询 select name from users where name in (select name from users here...)
多表更新:
inner join/join/cross join 内连接,三个等价, 仅显示符合连接条件的记录
left [outer] join 左外连接 左表的的全部和右表的满足条件的记录
right [outer] join 右外连接 右表的的全部和左表的满足条件的记录
on来设定连接条件,也可以用where
update table1 inner join table2 on table1.a=table2.b set a=b
根据查询结果创建表
eg:create table table1 (id smallint unsigned primary key auto_increment, name varchar(20) not null) select name from users
多表删除:
delete t1 from table1 as t1 left join (select ......) on ... where..
函数:
常用的字符函数:Concat(a,b), format(), lower(),upper().....
常用的数值运算符:ceil(),floor(),round()
比较运算符:[not] between .. and ..
聚合函数:AVG()平均值 COUNT() MAX() MIN() SUM()
————————————————
版权声明:本文为CSDN博主「就是Hcy呀」的原创文章
原文链接:https://blog.csdn.net/weixin_28894423/article/details/113226233
相关文章