关于MySQL的运用,sql语句

目录

关于MySQL的运用

1、创建数据库

1)创建库语句

2)使用库语句

2、创建数据库表

1)创建表语句

3、修改和删除数据表字段

1)修改表名

2)增加表的字段

3)修改表的字段

4)删除表的字段

5)删除表

4、增删改

1)insert(插入语句)

2)update(修改语句)

3)delete (删除语句)

5、DQL查询数据

1)DQL(Data Query Language:数据查询语言)

2)联表查询JoinOn

3、分页和排序


关于MySQL的运用

SHOW CREATE DATABASE 库名--查看创建数据库的的语句

SHOW CREATE TABLE 表名--查看创建表的语句

DESC 表名 --显示表的结构

1、创建数据库

1)创建库语句

CREATE DATABASE 库名

例:CREATE DATABASE school

2)使用库语句

USE 库名

例:USE school

2、创建数据库表

1)创建表语句

CREATE TABLE IF NOT EXISTS `表名` (

   `字段名` 列类型[属性] [索引] [注释],

   `字段名` 列类型[属性] [索引] [注释],

···········

 `字段名` 列类型[属性] [索引] [注释]

)[表类型] [字符集设置] [注释]

例:

创建学生表,学号int、登陆密码varchar(20)、姓名、性别vachar(2)、出生日期(datetime)、家庭住址、emil

CREATE TABLE IF NOT EXISTS `student` (

   `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',

 `pwd` VARCHAR(20) NOT NULL DEFAULT(123456) COMMENT '密码',

 `name` VARCHAR(10) NOT NULL DEFAULT('匿名') COMMENT '姓名',

 `sex` VARCHAR(2) NOT NULL DEFAULT('女') COMMENT '性别',

 `birthday` DATETIME DEFAULT NULL COMMENT '出生日期',

 `address` VARCHAR(100) DEFAULT NULL COMMENT '地址',

 `emil`VARCHAR(50) DEFAULT NULL COMMENT '邮箱',

  PRIMARY KEY (`id`)

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

3、修改和删除数据表字段

1)修改表名

ALTER TABLE 表名RENAME AS 新表名

例:ALTER TABLE student RENAME AS student1

2)增加表的字段

ALTER TABLE 表名 ADD 字段名 列属性

例:ALTER TABLE student1 ADD age INT(11)

3)修改表的字段

修改约束:ALTER TABLE 表名MODIFY 字段名 列属性

例:ALTER TABLE student1 MODIFY age VARCHAR(11)

重命名:ALTER TABLE 表名change 字段名 新字段名 列属性

例:ALTER TABLE student1 change age age1 INT(1)

4)删除表的字段

ALTER TABLE 表名 DROP字段名 

例:ALTER TABLE student1 DROP age1 

5)删除表

DROP TABLE IF EXISTS 表名

例:DROP TABLE IF EXISTS student1

4、增删改

1)insert插入语句

  1. 主键自增时不强制insert主键
  2. 字段是可以省略的但是后面的值必须要一一对应不能少
  3. 可以同时插入多条数据values后面的值需要使用隔开即可

INSERT INTO 表名([字段名1,字段2,字段3])value('值1','值2','值3', ....)

例:

INSERT INTO `student1`(`name`) VALUES('张三')   

INSERT INTO `student1`(`name`) VALUES('张三'),('李四')   

INSERT INTO `student1`(`pwd`,`name`,`sex`) VALUES('66666','张三','男')

INSERT INTO `student1`(`pwd`,`name`,`sex`)

VALUES('66666','张三','男'),('88888','李四','男')

INSERT INTO `student1`

VALUES(12,'66666','张三','男','2019-1-1','asddd','[email protected]',11)

2)update修改语句

  1. 不指定条件的情况下会改动所有的表
  2. value是一个具体的值也可以是一个变量

UPDATE 表名 set colnum_name = value where 条件

例:

UPDATE `student1` set `name`='王五' WHERE id = 2

UPDATE `student1` set `name`='王五', `sex`='男' WHERE id = 2 //修改多个属性逗号隔开

UPDATE `student1` set `birthday`=CURRENT_TIME WHERE id = 2

3)delete (删除语句)

DELETE FROM 表名 WHERE 条件

例:DELETE FROM `student1` WHERE id = 1

DELETE FROM 表名   //删除表中所有数据

TRUNCATE 表名      //删除表中所有数据

delete和truncate的区别

相同点都能删除数据都不会删除表结构

不同点:truncate重新设置自增列计数器会归零不会影响事务

5、DQL查询数据

1)DQLData Query Language数据查询语言

SELECT 字段 FROM 表

例:

//查询全部学生

SELECT * FROM student1

   

//查询指定字段

SELECT `name`,`sex` FROM student1

//给结果起一个别名,可以给字段和表起别名,

SELECT `name` AS 学号,`sex` AS 学生姓名 FROM student1 AS s

//函数 concat(a,b)

SELECT CONCAT('姓名:',name) AS newname FROM student1

//distinct 去除select查询出来的结果中重复的数据,重复的数据只显示一条

SELECT DISTINCT 字段名 FROM 表名

2)联表查询JoinOn

  1. 分析需求,分析查询的字段来自哪些表
  2. 确定使用哪种查询 要查询哪些数据  select .....
  3. 从哪几个表中差 FROM 表 XXX Join 连接的表 on 交叉条件
  4. 假设存在一种多张表查询,慢慢来,先查询两张表然后慢慢增加

3、分页和排序

排序:升序ASC,降序DESC

ORDER BY 通过哪个字段排序,怎么排

例:ORDER BY id ASC

分页:limit 起始值,页面的大小

例:limit 0,5  //第一个到第五个

limit 1,5  //第二个到第六个

limit 6,5  //第七个到第十一个

第一页 limit 0,5   (1-1)*5

第二页 limit 0,5   (2-1)*5

第三页 limit 0,5   (3-1)*5

第n页 limit 0,5   (n-1)*pagesize,pagesize        

n:当前页  

Pagesize:页面大小 

(n-1)*pagesize:起始值  

数据总数/页面大小=总页数

猜你喜欢

转载自blog.csdn.net/m0_56442091/article/details/122665255