MYSQL学习笔记

mysql笔记
--------------
--创建数据库,该命令的作用:1. 如果数据库不存在则创建,存在则不创建。2. 创建RUNOOB数据库,并设定编码集为utf8
create database if not exists RUNOOB default charset utf8 collate utf8_general_ci;
--drop 命令删除数据库
drop database if exists RUNOOB;
--MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型
---严格数值数据类型:int/integer,smallint,dec/decimal,numeric,bigint,对DECIMAL(P,D)表示列可以存储D位小数的P位数
---近似数值数据类型:float,double,real,
---日期/时间:date,datetime,timestape,year,time
---字符串:char,varchar,longtext,tinyblob,tinytext,blob,text,mediumbolb,mediumtext,longblob
--创建 MySql 的表时,表名和字段名外面的符号 ` 不是单引号,而是英文输入法状态下的反单引号,也就是键盘左上角 esc 按键下面的那一个 ~ 按键,坑惨了。反引号是为了区分 MySql 关键字与普通字符而引入的符号,一般的,表名与字段名都使用反引号。
create table if not exists `RUNOOB`(
`runood_id` int unsigned auto_increment,--AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1
`runood_title` varchar(100) not null,--如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
`runood_author` varchar(40) not null,
`submission_date` date,
primary key (`runood_id`)--PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔
)engine=InnoDB DEFAULT CHARSET=utf8;--ENGINE 设置存储引擎,CHARSET 设置编码
--MySQL 删除数据表
drop table if exists runoob;--删除表全部数据和表结构,立刻释放磁盘空间
--删除表内数据,用 delete
delete * from runoob;--删除表全部数据,表结构不变,对于 MyISAM 会立刻释放磁盘空间,InnoDB 不会释放磁盘空间;delete from 表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间
---删除学生表内姓名为张三的记录。
delete * from runoob where name='张三';-- 带条件的删除,表结构不变,不管是 innodb 还是 MyISAM 都不会释放磁盘空间;delete from 表以后虽然未释放磁盘空间,但是下次插入数据的时候,仍然可以使用这部分空间
optimize table runoob;--delete 操作以后,使用 optimize table table_name 会立刻释放磁盘空间,不管是 innodb 还是 myisam;
---清除表内数据,保存表结构,用 truncate
truncate table runoob;-- 删除表全部数据,保留表结构,立刻释放磁盘空间 
/*当你不再需要该表时, 用 drop;

2、当你仍要保留该表,但要删除所有记录时, 用 truncate;

3、当你要删除部分记录时, 用 delete。
*/
--MySQL 插入数据,
 INSERT INTO runoob_tbl 
    (runoob_title, runoob_author, submission_date)
    VALUES
    ("学习 PHP", "菜鸟教程", NOW());--我们并没有提供 runoob_id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。实例中 NOW() 是一个 MySQL 函数,该函数返回日期和时间
---插入多条
INSERT INTO table_name  (field1, field2,...fieldN)  
VALUES  (valueA1,valueA2,...valueAN),
(valueB1,valueB2,...valueBN),
(valueC1,valueC2,...valueCN)......;	
--MySQL 查询数据
SELECT column_name,column_name --SELECT 命令可以读取一条或者多条记录。
FROM table_name --查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件
[WHERE Clause] --你可以使用 WHERE 语句来包含任何条件。
[LIMIT N] --你可以使用 LIMIT 属性来设定返回的记录数
[ OFFSET M] --你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0
--MySQL WHERE 子句
SELECT field1, field2,...fieldN 
FROM table_name1, table_name2... --查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
[WHERE condition1 [AND [OR]] condition2..... --你可以在 WHERE 子句中指定任何条件。使用 AND 或者 OR 指定一个或多个条件,WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
---where子句操作符 =,!=,>,<,>=,<=
select * from runoob_tbl where runoob_author="菜鸟教程";-- WHERE 子句的字符串比较是不区分大小写的,你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的
select * from runoob_tbl where binary runoob_author="runoob.com";--使用了 BINARY 关键字,是区分大小写的
--MySQL UPDATE 查询
UPDATE table_name SET field1=new-value1, field2=new-value2 --你可以同时更新一个或多个字段。
[WHERE Clause] --你可以在 WHERE 子句中指定任何条件,你可以在一个单独表中同时更新数据
update runoob_tbl set runoob_title="学习c++" where runoob_id=3;
update students set age=age+1;
update students set name="小明", age=19 wheretel="13288097888";
UPDATE table_name SET field=REPLACE(field, 'old-string', 'new-string') 
[WHERE Clause] --当我们需要将字段中的特定字符串批量修改为其他字符串时
UPDATE runoob_tbl SET runoob_title = REPLACE(runoob_title, 'C++', 'Python') where 
runoob_id = 3;
--MySQL DELETE 语句
DELETE FROM table_name 
[WHERE Clause];--如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。你可以在 WHERE 子句中指定任何条件,您可以在单个表中一次性删除记录
--MySQL LIKE 子句
---SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值