MySQL之SQL语言

一、SQL 概述

  1. SQL介绍
    SQL是操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准
  2. 通用语法
  • SQL语句可以单行或多行书写,以分号结尾。
  • 可以使用空格/缩进来增强语句的可读性。
  • 注释:单行注释:–注释内容或#注释内容(MySQL特有),多行注释: /注释内容/;

二、SQL 分类

  • DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
  • DML(Data Manipulation Language):数据操作语言,用来对数据库表中的数据进行增删改;
  • DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
  • DQL(Data Query Language):数据查询语言,用来查询数据库中表的记录;
  • TCL(transaction) 数据事务语言;

三、DDL

操作数据库

  1. 创建数据库
格式:
create database [ if not exists ] 库名 [character set 字符集];
注意:[...]为可选参数,
示例:
创建一个使用utf-8字符集的mydb1数据库。
create database if not exists mydb1 character set utf8;
  1. 查看数据库
显示所有数据库
show databases;

查询某个数据库的创建语句
	 show create database 数据库名称;
  1. 修改数据库
修改mydb1的字符集为utf8(不能修改数据库名)
alter database mydb1 character set gbk;	
  1. 删除数据库
删除数据库mydb1
drop database mydb1;

操作表

  1. 创建表
create table 表名(字段 字段类型 [字段约束] [ COMMENT 注释], 
                  字段n 字段n类型 [字段约束][COMMENT字段n注释]);

例如:创建一个员工表:
create table employee(empno int, ename varchar(20), sal int);
  1. 查看表
查看所有的表:
		show tables;
查看指定表的创建语句
		show create table employee;
	注意,mysql表名称区分大小写
显示指定表的结构:
		desc employee;
  1. 修改表
更改表名:    
rename table employee to worker;

增加一个字段:
alter table employee add column height double;column关键字在Oracle中,添加则语法错误)
  
修改一个字段:
alter table employee modify column height float;

修改字段名: 
alter table employee change column height height1 float;

删除一个字段:
alter table employee drop column height1;

修改表的字符集:
alter table employee character set gbk;
  1. 删除表
删除employee表
drop table employee;

四、DML

  1. 插入数据
创建一个员工表,新建employee表并向表中添加一些记录:
create table employee(
id int,
name varchar(20),
sex int
);

指定添加:insert into 表名(列名1,列名2,...列名n) values(1,2,...值n);
insert into employee(id,name,sex) values(1,'李四',1);

全部添加:insert into 表名VALUES(1,2,...);
insert into employee values(2,'张三',1);

注意:
		1. 列名和值要一一对应。
		 
		2. 除了数字类型,其他类型需要使用引号(单双都可以)引起来
  1. 修改数据
update 表名 set 列名1 =1, 列名2 =2,... [where 条件];

update employee set sex=0  where name='李四';
  1. 删除数据
删除表中姓名为李四的记录。
		delete from employee where name='李四';		
		【注意from不能省略】
删除表中所有记录。
		delete from employee; 
使用truncate删除表中记录。
		truncate employee;
		(无条件 效率高)

deletetruncate区别?
		1.truncate不能加where条件,而delete可以加where条件
		2.truncate的效率高
		3.truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始
		4.delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始
		5.truncate删除不能回滚,delete删除可以回滚
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值