数据库从入门到精通(一)数据库基础操作

cmd下启动mysql

1.net start mysql 启动mysql服务

2.net stop mysql 关闭mysql服务

3.mysql -h 127.0.0.1 -u root -p 打开mysql输入密码

数据库操作命令

查看当前所有的数据库 show databases

创建数据库 create database database_name

创建中文字符集的数据库 create database database_name charset utf8 collote utf8_general_ci

使用这个数据库 use database_name

查看当前所有的表 show tables

新建数据表 create table table_name

在这里插入图片描述

修改表名 alert table <旧表名> rename <新表名>

修改字段数据类型 alert table <表名> modify <字段名> <数据类型>

修改字段名 alert table <表名> change <旧字段名> <新字段名> <数据类型>

添加字段 alert table <表名> add <新字段名><数据类型>

表的第一列添加字段 alert table <表名> add <字段名> <数据类型> first

表的指定列添加字段 alert table <表名> add <字段名> <数据类型>after name

修改字段位置 alert table <表名> add <字段名> <数据类型>first

修改字段位置在指定列之后 alert table <表名> add <字段名> <数据类型>after name

数据库重要的删除操作

删除数据库 drop database 数据库名称

删除数据表 drop table 数据表名称

删除数据表中的内容 delete from table_name where 条件

删除字段 alert table table_name drop 字段名

数据库增删改查操作

插入数据

insert into table_name (column_list) values (values_list);

insert into student (id,name,age ,sex) values (20190321,‘李阳’,24,‘男’);

同时插入多条数据

insert into table_name (column_list) values (values_list),(values_list),(values_list)

insert into student (name,age) values (‘李阳’,24),(‘李阳’,24),‘李阳’,24);

将查询结果插入表中

insert into table_name (column_list) select column_list from table_name where 条件

insert into student (di,name,age,sex) select id,name,age,sex from person

将多表查询结果插入表中

insert into student (id,name,age,sex)

                          select id,name,age,sex from person 1

                          union all

                          select id,name,age,sex from person 2
更新数据

update table_name set column_name 1=value 1,

                                  column_name 2=value 2,

                                  column_name 3=value 3

                            where   条件语句

update table_name set age=15,

                                    name='李阳',

                                    sex='男'

                            where   id=11
删除数据

delete from table_name where 条件语句

delete from student where id=11;

delete from student where age between 15 and 20;

查询数据

select * from table_name

查询指定记录

select 字段1,字段2 ,字段3 from student where 条件语句

select id,name,age,sex from student where class=2;

in查询满足指定范围之内的条件记录

select 字段1,字段2 ,字段3 from student where 字段 in(范围) order by 字段

select id,name,age,sex from student where class in (2,3) order by name;

not in查询不在指定范围之内的条件记录

select id,name,age,sex from student where class not in (2,3) order by name;

带between and 的范围查询

select id,name,age,sex from student where class between 2 and 5;

带like的字符匹配查询(d%以d开头,%d以d结尾,%d%包含d的,d%y以d开头以y结尾)

select id,name,age,sex from student where name like “李%”;

select id,name,age,sex from student where name like “李%阳”;

查询空值

@is not null

select id,name,age,sex from student where name is not null;

@is null

select id,name,age,sex from student where name is null;

带and的多条件查询

select name,age,sex from student where id=100 and id=200;

带OR的多条件查询

select name,age,sex from student where id=100 or id=200;

查询结果不重复

select distinct name from student;

查询结果排序 (order by默认升序 desc降序 asc升序)

@单列排序

select name,age,sex from student order by name;

@多列排序

select name,age,sex from student order by name and age;

@指定排序方向

select name,age,sex from student order by name desc;

select name,age,sex from student order by age asc;

指定多列不同顺序排列

select name,age,sex from student order by age asc,name desc;

分组查询(group by having)

@group by

select name,age,sex from student group by age;

@having过滤

select name,age,sex from student group by sex having age >22;

@with rollup

select name,age,sex from student group by sex with rollup;

@order by

select

         ordernumber,

        SUM(quantityOrdered)ASitemsCount,

        SUM(priceeach*quantityOrdered)AStotal

FROM orderdetails

GROUPBY ordernumber

HAVING total>55000

limit限制查询(从那行开始,走多少行)

select * from student limit 4 查询前四行

select * from student limit 4 ,3 从第四行开始向下三行

聚合函数查询

连接查询

as 字段别名

对mysql数据库新建一个user:

grant all on test.* to ‘alex’@‘%’ indentified by ‘root’;

查看新建user的权限

show grant for alex

创建表的约束条件

primary key

constraint 外键名 foreign key 字段名 references 主表名 主键列

not null 非空约束

unique 唯一性约束

default 默认值约束

引言 欢迎来到PostgreSQL数据库从入门到精通。 在我们生涯的早期,我们开始理解开源软件的质量。不仅通常情况下它们可以自由使用,而且它们提供极高的质量。如果你发现问题,你可以检查源代码,理解程序工作过程。如果你找到一个错误,你可以自己修复或找别人帮你修复。我们从1978年开始试用开源软件,包括优秀的GNU工具,包括GNU Emacs和GCC。我们从1993年开始使用Linux并愉快地使用Linux内核和GNU工具建立了一个完整的,自由的计算环境,并且使用X Window系统提供了一个图形用户界面。PostgreSQL是一个采取相同的开源理念的优秀的数据库系统(更多关于开源和自由的信息,请访问http://www.opensource.org)。 数据库是非常有用的东西。很多人发现“桌面数据库”在办公室和家里的小应用程序中非常有用。很多网站是数据驱动的,很多内容都由网页服务器后面的数据库提供。随着数据库的普及,我们觉得有必要写一本书介绍数据库理论和实践。 我们写这本书整体介绍数据库,全面覆盖现代的关系数据库的能以及怎么高效使用它们。使用 PostgreSQL作为他的数据库的人都没有觉得PostgreSQL在哪方面有什么不足。它支持优秀的数据库设计,非常有弹性和扩展性,且运行在几乎你所能想到的计算机上,包括Linux,Unix,Windows,Mac OS X,AIX,Solaris以及HP-UX。 对了,免得你好奇,我告诉你PostgreSQL念做“post-gres-cue-el”(而不是“post-gray-ess-cue-el”)。 本书大致分为三部分。第一部分包括入门,包括数据库概述(它们是什么以及它们用来干什么),尤其是PostgreSQL的概述(怎样获得,安装和启动以及使用)。如果你同时运行了示例,到第5章完成的时候,你将建立起第一个可工作的数据库并且可以使用一些工具来做一些有用的事情,例如输入数据和执行查询。 本书的第二部分深刻地探索关系数据库的核心:SQL查询语言。通过示例程序和“做一个尝试”章节,你将学到数据库编程的很多方面。,从简单的数据插入和修改,强大的各类查询到通过存储过程和触发器扩展数据库功能。本章最重要的内容是数据库无关,所以你从本章获取的知识能够让你在使用其他数据库时如鱼得水。当然,所有的用来说明的示例资源是用PostgreSQL来作为示例数据库。关于PostgreSQL的管理和数据库设计的习惯用法也将在本章完整讨论。 本书的第三部分关注于在你的程序中发挥PostgreSQL的能力。本章涵盖了通过大量的编程语言连接到数据库、执行查询以及处理结果集。无论你是使用PHP或者Perl开发动态网页、用Java或者C#开发企业级应用程序或者用C写一个客户端程序,你将找到你想要的章节。 这是PostgreSQL从入门到精通的第二版;第一版在2001年发布。从那时起,每章的内容都根据8.0版本的PostgreSQL做了升级。我们在本书中有机会补充了新的一章
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HACKNOE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值