mysql语句

1、为什么用数据库

  1. 数据的永久保存
  2. 安全问题
  3. 检索困难

2、常用的数据库

  • Oracle 甲骨文
  • Sqlserver 微软
  • Mysql 网站开发主推的数据库,开源免费,被甲骨文公司收购
3、端口号  *3306*

4、sql语句

  • shwo databases; 显示所有数据库
  • use 数据库名称; 使用指定的数据库
  • show tables; 显示当前数据库下的所有表
  • select * from (表名)user 查询表中全部数据

创建数据库的注释:

  • 多行注释:/*注释的内容*/
  • 单行注释:-- 注释内容 和 #注释内容

mysql语句

1、创建数据库的语句
create database sbschool 数据库名称
default character set utf8 设置字符集
2、删除数据库的语句
drop database sbschool 删除数据库
3、使用数据库 use sbschool → 数据库名
4、主键:
PRIMARY KEY
能够唯一代表一行数据的列
强烈建议 每个表必须添加主键
5、外键
从子表中创建
foreign key(stuno) references student(stuno)
6、建立主外键的关系
1.外键表的数据必须要在主键表中存在
2.删除主键表的数据,必须要嫌删除外键表中相关的数据
7、删除表
drop table 表名 删除表

8、sql语句添加数据
insert into 表名 (列名1,列名2,…)
values(值1,值2,…)

9、insert into 表名 set列名1=值1,列名2=值2,…

10、多行插入
insert into 表名(列名1,列名2,…)
values
(值1,值2,…),
(值1,值2,…)
11、update 表名 set 列名=更新值
[where 更新条件]
注明:[]表示可选
and 并且
or 或者
not 取反

12、删除语句
delete from 表名
[where 删除条件]
删除表中某一列
(如果有条件的删除数据)
################################################################
drop table 表名 删除表
truncate table student
清空表中所有数据

13、 关系运算符

< <= > >= = (!= <> 不等于)

14、查询语句
select 列名1,列名2,… from 表名
where 查询条件
########################################################################
select * from:查询全部
########################################################################

查询的结果中列名显示中文:
SELECT stuname as 姓名,stusex as 男, stuage as 年龄
FROM student
########################################################################
查询部分的行
SELECT stuname,stusex,stuage,stuaddress
FROM student WHERE stusex=‘女’
#######################################################################
查询的结果中添加常量列
SELECT *,‘盛邦升华学校’ as 学校
FROM student
########################################################################
表原来的结构不会变
查询出来的结果是一个临时的虚拟表
########################################################################
查询条件
########################################################################

查询条件修改过为空
SELECT * FROM student
where stuphone =’’
########################################################################

查询条件本身为空
SELECT * from student
where stuphone is NULL
########################################################################

模糊查询

SELECT * FROM student
WHERE stuaddress like ‘%张%’
like 像。。。一样
% 表示任意长度的字符串(可以是0)
_表示 单个字符
########################################################################
优先级
not 优先级最高
and 第二
or 最后

排序

SELECT * FROM student
order by stuage asc 升序
########################################################################
SELECT * FROM student
order by stuage desc 降序

去除重复

select distinct stuaddress from student

SELECT * FROM student

ORDER BY stuage DESC

LIMIT 0,3 起始的行数。显示多少行 行数从0开始

查询语句

查询语句
select 列名
from 表名
where 查询条件
group by 按照列名分组
having 筛选条件
分组后在筛选
order by 列名 asc desc
limit 0,2

15、聚合函数

1、sum(列名) 求和
2、avg(列名) 取平均值
3、max(列名)最大值
4、min(列名)最小值
5、 (*)行数
6、group by 分组
########################################################################
select 列名
from
[where 查询条件]
[group by 列名]
[order by 列名]
[limit 0,3]
########################################################################
select 列名1,列名2
from 表名
where 查询条件
group by 列名
having 筛选条件 —分组之后在筛选数据
order by 列名 asc/desc
limit 0,2

16、表连接

SELECT student.stuname,score.dbscore
FROM student,score
WHERE student.stuno=score.stuno

内连接:

inner join
select a.列名1,b.列名
from a
inner join b
on链接条件
inner join c
on链接条件
where 查询条件

左链接:

左表的数据都显示出来如果和右表的数据有关联就连成一行
没有关联的数据补NULL
left join

右链接:

右表的数据都显示出来如果和左表的数据有关联就连成一行
没有关联的数据补NULL
left join

17、子查询

DESCELETE FROM books
WHERE categoryid in(
SELECT id from categories WHERE NAME =‘其他’
)
not in 子查询取反
所有子查询都可以用表连接

4、创建表

CREATE TABLE Student (
stuno INT NOT NULL auto_increment,
stuname VARCHAR (20) NOT NULL,
stusex VARCHAR (5) NOT NULL,
stuage INT NOT NULL,
stuaddress VARCHAR (50) DEFAULT '地址不详',
stuid CHAR (18),
stuphone VARCHAR (11),
stubirthday date,
PRIMARY KEY (stuno) #表示主键

)

5、数据类型:

  • 整数:int 取值范围 正负21亿

  • bigint 字符串:

  • char:(可以指定长度)固定长度字符串

  • 如果长度不够用空格补齐

  • varchar:(可以指定长度)可变长度的

  • 字符串(最大长度)最多不能超过10位

  • text(长文本) :最多是65535字符

  • lonhtext: 约42亿字符 日期:

  • date 2017-3-12 年 月 日

  • datetime 2017-11-22 9:55:30 年 月 日 小时 秒 小数:

  • float类型

  • decimal类型 和float类型一样

  • 二进制数据 blob longblob

常用的日期函数

  • year()获取年的部分
  • month()获取月
  • day()日
  • hours()小时
  • minute()分钟
  • second()秒
  • now()当前系统日期时间
  • sysdate()当前系统日期时间(同上)
  • datediff(日期1,日期2)计算两个日期相差的天数
  • 在日期的指定部分添加指定的值
  • date_add(date,interval expr unit)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值