19 MySQL概念 数据库 数据表 数据类型 增加删除修改查询 WHERE Order By Limit

数据库管理系统DBMS

数据库中相关概念

数据库

数据表

记录

字段

数据

登录和退出MySQL客户端

查询自己的MySQL服务器有几个数据库

二、退出MySQL客户端的命令

修改root用户的密码

MySQL客户端来修改密码(当前账号的密码)

数据库操作

创建数据库

显示所有数据库

删除数据库

选择数据库

更改数据库默认字符集

数据表操作

显示当前数据库中的所有表

创建数据表

显示表的创建

列的常用属性

修改数据表

删除数据表

显示表结构

MySQL数据类型

整型

浮点型

字符型

文本型

日期时间型

show命令

SQL简介

增加数据 INSERT INTO

删除记录DELETE FROM

TRUNCATEtable_name

修改记录 UPDATE SET

查询数据SELECT

WHERE条件子句

OrderBy排序子句

Limit子句

 

 

 

 

 

 

 

 

数据库管理系统DBMS

DBMS,Database Management System数据库管理,简单说:就是管理数据的一个大型软件。DBMS主要对数据进行管理、维护等操作,或者对数据的安全性和完整性的处理。

常见的DBMS系统:

ACCESS:Microsoft公司开发的小型数据库管理系统;

SQL SERVER:Microsoft公司开发的,面向大中型网站;

Oracle:美国甲骨文公司开发的,大型或超大型数据方面的应用;

MySQL:完美组合Linux+Apache+PHP+MySQL,MySQL是瑞典AB公司开发,现在被Oracle收购了。

数据库中相关概念

数据库:是存放数据的一个仓库。比如:相当于系统中的文件夹。像公司的一个文件柜。

数据表:就是存放数据的具体的场所。相当于系统中的不同类型的文件。像公司的一个文件。

以下这些数据表,是数据库saixinjituan的数据表。

phpMyAdmin是管理数据的一个网页软件。

记录:数据表中的一行内容,称为“一条记录”

因此,我们在创建数据表时,一定要创建一个id列,用于标识“这是第几条记录”,id列的值不能相同,必须唯一,就相当于***号一样。

字段:一个表中的各个列,就叫“字段”,在数据库中的每个字段,都是有规定的,比如:字段的数据类型、空与不空的判断、自动增长等。

数据:行和列的交叉处,就是真正的“数据”。

MySQL操作:(1)使用phpMyAdmin软件操作(2)在MySQL客户端来操作(也就是DOS命令行下)

登录和退出MySQL客户端

一、登录MySQL客户端

语法格式:mysql   –h主机名或ip地址   -u用户名   -p密码

举例:mysql –hlocalhost   -uroot   -proot

参数说明:

-h:代表MySQL的主机名或IP地址,如:-h127.0.01   -hlocalhost

-u:代表MySQL中的用户名,默认是root

-p:代表MySQL中用记的密码,默认是root

注意:语法中各个段之间用空格分开;

如果你不想让别人看到你输入的密码,在登录MySQL客户端可以先不输密码,直接回车,会提示输入密码,这时候的密是以“*”号显示;

提示:安装完phpStudy之后,只有一个root用户,它是超级管理员。

在phpMyAdmin下查看用户、创建用户、给用户分配权限

查询自己的MySQL服务器有几个数据库

二、退出MySQL客户端的命令

exit或quit

在DOS命令行下,可以使用键盘上的“上下箭头”来把曾经使用过的命令重新调出来执行。

三、修改root用户的密码

1、使用 mysqladmin.exe 程序来进行修改(在DOS命令下)

C:\>mysqladmin.exe  –hlocalhost  –uroot  –proot  password  新密码

       注意:mysqladmin.exe这命令的使用,是在DOS命令使用,并不是MySQL的客户端。

           新密码可以不加引号;

2、在MySQL客户端来修改密码(当前账号的密码)

语法格式:

Mysql>  set password=password(‘新密码’);

注意:password( )是MySQL的一个加密函数

md5( )是PHP中的一个加密函数

mysql> selectuser();

+----------------+

| user()         |

+----------------+

| [email protected] |

+----------------+

1 row in set (0.00sec)

mysql> selectnow();

+---------------------+

| now()               |

+---------------------+

| 2015-12-0922:12:32 |

+---------------------+

1 row in set (0.00sec)

mysql> selectversion();

+------------+

| version()  |

+------------+

| 5.6.26-log |

+------------+

1 row in set (0.00sec)

mysql> selectdatabase();

+------------+

| database() |

+------------+

| NULL       |

+------------+

1 row in set (0.00sec)

数据库操作

一、创建数据库

语法:Create Database [IF NOTEXISTS] db_name [CHARSET]

参数:

CreateDatabase是创建数据库的命令;

[IFNOT EXISTS]是可选项,如果不存在,再进行创建;

db_name:是要创建的数据库的名称,命名方式跟变量一样,但不加$符号;

[CHARSET]设置数据库的字符集,如果不设置会用MySQL的默认字符集latin1;

举例:

CREATEDATABASE IF NOT EXISTS zhangsan CHARSET utf8;

CREATEDATABASE zhangsan;  //使用的是默认字符集latin1

二、显示所有数据库

语法:show databases

【设置显示的字符集】,最好设置为终端的字符集一样

不影响数据库存储的字符集

mysql> set names gbk;

三、删除数据库

语法:DROP DATABASE [IF EXISTS] db_name

说明:

Dropdatabase是删除数据库的命令;

[IFEXISTS]是可选项,如果存在,再进行删除,不会出现出错的信息;

举例:

DROPDATABASE IF EXISTS zhang;   //删除数据库zhang

四、选择数据库

语法:USE db_name

举例:usesaixinjituan;  //选择saixinjituan的数据库

五、更改数据库默认字符集

1、更改MySQL的配置文件:C:\Program Files (x86)\phpStudy\MySQL\my.ini

客户端(Client Section):default-character-set=gbk

服务器端(Server Section):default-character-set=latin1

2、在MySQL客户端使用命令修改

ALTER DATABASE  dbname  DEFAULT CHARACTER SET   gbk

数据表操作

一个网站可以有多张表:新闻表、管理员表、产品表、留言表.

一、显示当前数据库中的所有表

语法:show tables  FROM db_name

说明:查询某一个数据库中的所有的表

二、创建数据表

语法结构:

CREATE TABLEtable_name(

列名1 列的类型类型   列的属性,

列名2 列的数据类型   列的属性,

列名3 列的数据类型   列的属性

)

参数说明:

列名1,指定每个字段的名称,命名跟变量一样;

列的数据类型:指定每个字段存储什么样的数据;

列的属性:对列更详细的设置

举例:

CREATE TABLE 007_news(

id          int                        notnull auto_increment primary key,

title         varchar(50)            not null,

content    text                       null,

addate     int(12)                  nonull

);

【显示表的创建】

mysql> show create table glpi_users\G

*************************** 1. row***************************

Table: glpi_users

Create Table: CREATE TABLE `glpi_users` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,

`password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,

`phone` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,

`phone2` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,

)ENGINE=InnoDB AUTO_INCREMENT=293 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

1 row in set (0.00 sec)

mysql>

列的常用属性

(1)not null | null 指定列的值可以为空,还是不空,默认为null,一般id字段不能为空;

(2)DEFAULT default_value ,设置某个列的默认值,默认值可以是字符串或数字。

举例:sex  tinyint  not null  DEFAULT 1;

(3)auto_increment:指定某个列为自动增长型,一般是指为id字段,可以保证id的值永不重复;

(4)primary key:是主键索引。主键索引必须给具有auto_increment属性的字段来添加。主键索引只能是一个,其它的都是普通索引。

索引:就相当于一本书的目录索引,通过目录查询要看的内容,比直接翻书翻到要快得多。

id字段是每个数据表都必须有的字段,id字段必须具有这三个属性:not null、auto_increment、primarykey。

三、修改数据表

语法:ALTER TABLE table_name ……

提示:使用phpMyAdmin来修改数据表

四、删除数据表

语法:DROP TABLE table_name FROM db_name

五、显示表结构

语法:Describe table_name

功能:显示某一个表的结构

MySQL数据类型

整型、浮点型、字符型、文本型、日期型

一、整型

       tinyint:最小整数,1个字节表示,-128~127(带符号) 0-255、如:性别、邮件是否已读

smallint:小型整数,2个字节表示,0-65535,如:工资

mediumint:中型整数,3个字节表示,0-1677万

       int:一般整数,4个字节表示,0-42亿,如:文章的点击率

bigint:大型整数,8个字节表示,2^64-1

二、浮点型

       float(m,d):可以精确到小数点后7位,m代表总长度,d代表小数位数;

float(6,2):表示总长度为6位(不含小数点),小数位数是2位。如:1200.65

double:可以精确到小数点后15位。

三、字符型

char(M):固定宽度,取值范围0-255个字符,如:新闻标题、贴子标题等

char[10],假设我存了5个字符,其它的空间会用空格填充。

参数M指定字段的宽度;

varchar(M):自动伸缩型,取值范围0-65535个字符,如:新闻标题、贴子标题等

varchar(10),假设我存了5个字节,它的长度应该是6,这里多出的1是字符长度。

四、文本型

TINYTEXT,1个字节,0-255个字符

TEXT,2个字节,0-65535个字符

MEDIUMTEXT,3个字节,0-1677万个字符

LONGTEXT,4个字节,0-42亿个字符

五、日期时间型

Date:格式YYYY-MM-DD存储,如:2014-08-01

Time:格式HH:mm:ss存储,如:12:09:30

Datetime:格式YYYY-MM-DD HH:mm:ss存储

Timestamp:格式YYYY-MM-DD HH:mm:ss

$addate = time();

Date(“Y-m-d H:i;s”);

在MySQL的客户端如何显示简体中文?

因为MySQL的客户端默认字符集,应该是GBK,因此显示时,要把当前的显示字符集改为GBK;

格式:set names gbk

只需要设置数组库的字符集,数据表将继承数据库中的字符集。

show命令

1、显示MySQL主机的所有数据库:SHOWDATABASES;

2、显示某个数据库中的所有表格:SHOW TABLES [FROM db_name];

3、显示创建数据库时的语句:SHOW create database db_name

4、显示某个数据库中表的结构:SHOW TABLE table_name [FROM db_name]

SQL简介

SQL,Structured Query Language结构化查询语言。SQL是操作和管理数据库的语言。

常用的SQL语句:增加、删除、修改、查询。

一、增加数据 INSERT INTO

语法:INSERT INTOtable_name(title,author,content,addate) VALUES(‘从8月开始每个人都可以申请城市户口’,’admin’,’内容……’,11010101010)

注意事项:

(1)      字段列表与值的内容列表,个数和顺序必须一致;

(2)      id字段不需要管它,它是自动增长型。

二、删除记录DELETE FROM

语法:DELETEFROM table_name [WHERE条件]

举例:

DELETEFROM news WHERE id=3;  //删除id=3的记录

DELETEFROM news WHERE id<4;  //删除id<4的记录

DELETEFROM news WHERE id>10 and id<20; //删除20>id>10的记录

DELETEFROM news WHERE id>10 or author=’admin’ ; //删除id>10的所有记录,或者author=’admin’记录

DELETE FROM news   // 删除这个表

TRUNCATE table_name

功能:删除所有数据,并重新将id值归0.

说明:与deletefrom删除全部数据要快的多。

举例:TRUNCATE news

三、修改记录 UPDATE SET

语法:UPDATEtable_name SET 字段1=新值1,字段2=新值2 [WHERE条件]

注意:更新数据时,一定要指定WHERE条件,否则,整个表都会更新为一样

举例:

UPDATEnews SET author=’zhangsan’,hits=100000 WHERE id=120  //id=120的记录修改

UPDATEnews SET title=’新闻的新标题’ WHEREid=130;

……

四、查询数据SELECT

语法:SELECT *|字段列表 FROM table_name [WHERE条件][ORDER BY 字段 ASC|DESC] [LIMIT限定输出的结果]

参数:

*:将列出所有字段的数据,一般是当字段少的时候才用;

字段列表:指定要查询的字段,多个字段间用逗号隔开,如:SELECT id,title,addate FROM 007_news

[WHERE条件]指定查询的条件;

[ORDERBY]对哪些字段进行排序,排序分升序(ASC)和降序(DESC)

[LIMIT]限制输出的记录数

WHERE条件子句

Like运算符:实现字段模糊查询,比如:查询所有标题中含有北京的所有记录。

%:相当于windows系统中的搜索中的匹配符号“*”

WHEREtitle LIKE ‘%北京%’;   //标题中含有北京的记录

WHEREauthor LIKE ‘a%’;     //查询以“a”字符开头的作者

……

Order By排序子句

对一个字段或多个字段进行排序,排序的关键字有两个:升序(ASC)默认、降序(DESC)

SELECT * FROM news ORDER BY id DESC  //对id字段进行降序排列

SELECT * FROM news ORDER BY author ASC,addate DESC  //作者升序排列,时间倒序排列

Limit子句

限定要输出的记录数。

语法:LIMIT startrow,rows

参数:startrow表示开始行号,rows表示要显示多少条记录

提示:LIMIT语句主要应用于 ,网页的数据分页。

举例:LIMIT 0,10   //从第0行起,输出10条记录,不包括第0行。

LIMIT 1,10  //从第1行起,输出10条记录,不包括第1行。

LIMIT 15,10 //从第15行起,输出10条记录,不包括第15行。

时间: 2024-12-26 11:47:24

19 MySQL概念 数据库 数据表 数据类型 增加删除修改查询 WHERE Order By Limit的相关文章

mysql编码、数据表编码查看和修改总结

1,查看自己安装的mysql的编码 2.查看Mysql支持的编码 3.查看数据库编码 4.查看数据表编码(show create table user \G;) 5.修改my.ini文件来修改编码:加上default-character-set=字符集(utf8.gbk.gb2312等) 6.命令行修改:alter database da_name default character set 'charset' :或  set names 'charset':或alter database te

sed 命令的增加 删除 修改 查询

1.1sed查询 1.1.1根据行号查询 Last login: Tue Aug 15 19:46:48 2017 from10.0.0.1 [[email protected] ~]# cat>person.txt<<EOF > 101,oldboy,CEO > 102,zhangyao,CTO > 103,Alex,COO > 104,yy,CFO > 105,feixue,CIO > EOF 1.1.1.1 显示第二行 [[email prote

[JavaWeb基础] 004.用JSP + SERVLET 进行简单的增加删除修改

上一次的文章,我们讲解了如何用JAVA访问MySql数据库,对数据进行增加删除修改查询.那么这次我们把具体的页面的数据库操作结合在一起,进行一次简单的学生信息操作案例. 首先我们创建一个专门用于学生管理的ManageServlet. 接着我们需要一个展现数据的页面,也就是 UserList.jsp <%@page import="com.babybus.sdteam.vo.Student"%> <%@ page language="java" im

MYSQL千万级数据表,创建表及字段扩展的几条建议

MYSQL千万级数据表,创建表及字段扩展的几条建议 一:概述 当我们设计一个系统时,需要考虑到系统的运行一段时间后,表里数据量大约有多少,如果在初期,就能估算到某几张表数据量非常庞大时(比如聊天消息表),就要把表创建好,这篇文章从创建表,增加数据,以及字段扩展,这几个方面来给出建议. 二:创建表 假如现在我们需要创建IM项目中的聊天消息表,这个表数据量大,读操作远超过写操作,我们都知道,mysql常用的数据库引擎主要有innodb,myisam,这两个数据库引擎主要区别是,innodb支持事务,

【MySQL】2、MySQL 创建数据库和表

2.MySQL 创建数据库和表 2.1.创建数据库 CREATE DATABASE 语句用于在 MySQL 中创建数据库. CREATE DATABASE database_name 为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数(用于向 MySQL 连接发送查询或命令). 2.2.创建表 CREATE TABLE 用于在 MySQL 中创建数据库表. CREATE TABLE table_name ( column_name1 data_type, column

MySQL在创建数据表的时候创建索引

转载:http://www.baike369.com/content/?id=5478 MySQL在创建数据表的时候创建索引 在MySQL中创建表的时候,可以直接创建索引.基本的语法格式如下: CREATE TABLE 表名(字段名 数据类型 [完整性约束条件], [UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY [索引名](字段名1 [(长度)] [ASC | DESC]) ); UNIQUE:可选.表示索引为唯一性索引. FULLTEXT:可选.表示索引为全

mysql 查看数据库,表,字段信息

查询MySQL数据库/表相关信息的SQL语句: SHOW DATABASES //列出 MySQL Server 数据库. SHOW TABLES [FROM db_name] //列出数据库数据表. SHOW CREATE TABLES tbl_name //导出数据表结构. SHOW TABLE STATUS [FROM db_name] //列出数据表及表状态信息. SHOW COLUMNS FROM tbl_name [FROM db_name] //列出资料表字段 SHOW FIELD

PHP创建数据库数据表

PHP创建数据库数据表 <?php $con = mysql_connect('localhost', 'root', 'root'); /************************在数据库中创建表*************************/ if (!$con) { die ('连接数据库出错: ' . mysql_error()); } $database="my_db_name"; $sqlDatabase = 'create database '.$data

POSTGRESQL 查看数据库 数据表大小

1.查看数据库大小: select pg_database_size('log_analysis'); ***(Single step mode: verify command)******************************************* select pg_database_size('log_analysis'); ***(press return to proceed or enter x and return to cancel)****************