mysql连接:
[root@host]# `mysql -u root -p`
Enter password:******
创建数据库:
CREATE DATABASE 数据库名
;
删除数据库:
drop database 数据库名
;
使用mysqladmin删除数据库:
[root@host]# mysqladmin -u root -p drop 数据库名
Enter password:******
执行以上删除数据库命令后,会出现一个提示框,来确认是否真的删除数据库:
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'RUNOOB' database [y/N] y
Database "RUNOOB" 数据库名
当然也可使用PHP脚本删除数据库
选择数据库:
[root@host]# mysql -u root -p
Enter password:******
mysql> use ball
Database changed
mysql>
执行以上命令后,你就已经成功选择了ball数据库,在后续的操作中都会在ball 数据库中执行。
注意:所有的数据库名,表名,,表字段都是区分大小写的,所以你在使用SQl命令的时候需要输入正确的名称。
同样也可以使用PHP脚本选择MySQL数据库
mysql数据类型
mysql中定义数据字段的类型对你数据库的优化是非常重要的。
mysql支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
数值类型:
mysql支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
作为SQL标准的扩展,MySQL也支持整数类型TINYINT、MEDIUMINT和BINGINT。
TINYINT占1byte,用于小整数值;SMALLINT占2bytes,用于大整数值;INT或INTEGER占4bytes,用于大整数值;BIGINT占8bytes,用于极大整数值;FLOAT占4bytes,用于双精度浮点数值;DUBLE占8bytes,用于双精度浮点数值。
日期和时间类型:
表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
TIMESTAMP类型有专有的自动更新特性,将在后面描述。
字符串类型:
字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。
CHAR的大小为:0-255bytes,用于定长字符串;VARCHAR大小为:0-65535bytes,用于变长字符串。
创建数据表:
创建mysql数据表需要以下信息:表名,表字段名,定义每个字段。
创建mysql数据表的SQL通用语法:
CREATE TABLE table_name (column_name column_type);
以下例子当中我们会创建数据表user:
CREATE TABLE `user` (
`id` INT UNSIGNED PRIMARY KEY,
`username` VARCHAR(100) NOT NUll,
`PASSWORD` VARCHAR(100) NOT NULL,
`sex` CHAR NOT NULL,
`specialty` VARCHAR(255) NOT NULL,
`class` VARCHAR(255) NOT NULL,
`graduation_time` TIMESTAMP)
MySQL删除数据表:
DROP TABLE user
MySQL插入数据:
INSERT INTO USER ( id, username, PASSWORD, sex, specialty, class, graduation_time )
VALUES
(1,"羊永兵","123456","男","网络工程","网络工程21-2班",'2020-06-01 12:02:03')
MySQL查询数据:
SELECT
id,
username,
PASSWORD,
sex,
specialty,
class,
graduation_time
FROM
USER
查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
select命令可以读取一条或者多条记录。
你可以使用星号(*)来代替其他字段,select语句会返回表的所有字段数据
你可以使用where语句来包含任何条件。
你可以使用LIMIT属性来设定返回的记录数。
你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0.
MySQL WHERE子句:
以下是SQL SELECT语句使用WHERE子句从数据表中读取数据的语法案例:
SELECT
id,
username,
PASSWORD,
sex,
specialty,
class,
graduation_time
FROM
USER
WHERE
username = "王亚博"
你可以在WHERE子句中指定任何条件,也可以使用AND或者OR指定一个或者多个条件。WHERE子句也可以用于SQL的DELETE或者UPDATE命令。
使用主键来作为WHERE子句的条件查询是非常快速的。
如果给定的条件在表中没有任何匹配的记录,那么查询不会返回任何数据。
MySQL UPDATE 更新
如果我们需要修改或更新MySQL中的数据,我们可以使用SQL UPDATE命令来操作。
以下是UPDATE命令修改MySQL数据表数据的通用SQL语法:
UPDATE `tb_admin_user`
SET username = "毛文卓",
`password` = "654321"
WHERE
id = 19
你可以同时更新一个或多个字段。
你可以在WHERE子句中指定任何条件。
你可以在一个单独表中同时更新数据。
当你需要更新数据表中指定的数据是WHERE子句是非常有用的。
MySQL DELETE语句
您可以使用SQL的DELETE FROM命令来删除MySQL数据表中的记录。
DELETE
FROM
tb_admin_user
WHERE
id = 19
MySQL LIKE子句
SQL LIKE子句中使用百分号%字符来表示任意字符,类似于UNIX或正则表达式中的星号*。
如果没有使用百分号%,LIKE子句与等号=的效果是一样的。
SELECT
*
FROM
tb_admin_user
WHERE
realname LIKE '%博'
你可以在WHERE子句中使用LIKE子句。
你可以使用LIKE子句代替等号=。
LIKE通常与%一同使用,类似于一个元字符的搜索。
你可以使用AND或OR指定一个或多个条件。
你可以在DELETE或UPDATE命令中使用WHERE…LIKE子句来指定条件。
MySQL UNION操作符
MySQL UNION操作符用于连接两个以上的SELECT语句的结果组合到一个结果集结合中。多个SELECT语句会删除重复的数据。
MySQL UNION操作符语法格式:
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
参数:
expression1, expression2, … expression_n: 要检索的列。
tables: 要检索的数据表。
WHERE conditions: 可选, 检索条件。
DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
ALL: 可选,返回所有结果集,包含重复数据。
SELECT username from tb_admin_user
UNION
SELECT goods_name FROM tb_business_goods
可以看到没有重复的元素
SELECT username from tb_admin_user
UNION ALL
SELECT goods_name FROM tb_business_goods
可以看到加了参数ALL以后,有重复的元素出现了
带有WHERE的SQL UNION ALL:
SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;
MySQL排序: