SQL学习笔记1

1.数据库概述

1.数据库的概念

  • 安装特定格式存储数据的仓库

2.数据存储方式

  • 存储在内存中,速度快,易丢失,空间价格高
  • 存储在普通文件中,永久保存,但增删改查效率低
  • 存储在数据库中,永久保存,且增删改查效率高

3.数据库的优点

  • 对大量信息进行管理的高效解决方案

4.命令行连接数据库服务器

  • 登录格式1:mysql -u用户名 -p密码
  • 登录格式2:**mysql -u用户名 -p回车 密码
  • 退出Mysql:exit/quit

5.Mysql服务器目录结构

  • bin:mysql相关的可执行文件*.exe

     MySQLInstanceConfig.exe mysql的配置程序
    
  • data: mysql自带的数据库文件

  • nclude: c语言的头文件

  • lib: 存放mysql使用到的dll动态库

  • my.ini mysql的配置文件,配置了mysql的相关信息

2.SQL语句

1.SQL的概念

  • 结构化查询语言

2.SQL的作用

  • 操作数据库中的数据、表、数据库(规范)

3.分类

  • DDL(数据定义语言):创建、修改和删除数据库和表、列等 关键字:create(创建)、drop(删除)、alter(修改)
  • DML(数据操作语言):增加、删除和修改表中数据 关键字:insert(增加)、delete(删除)、update(修改)
  • DCL(数据控制语言):定义数据库访问权限和安全级别、创建用户 关键字:grant、revoke…
  • TCL(事务控制语言):控制数据库的事务操作 关键字:commit、savepoint、rollback
  • DQL(数据查询语言):select

4.通用语法

  • SQL可单行或多行书写,可以加分号结尾
  • MYSQL不区分大小写,关键字建议大写
  • 单行注释:-- # 多行注释:/* */

3.DDL语句

1.数据库创建

  • create database 数据库名;(直接创建)
  • create database if not exists 数据库名;(非空判断创建)
  • create database 数据库名 character set 字符集;(指定字符集创建)

2.数据库查看

  • show databases;(查看所有数据库)
  • show create database 数据库名;(查看指定数据库定义信息)

3.数据库修改

  • alter database 数据库名 character set 字符集;(修改数据库字符集格式)

4.数据库删除

  • drop database 数据库名;(删除指定数据库)

5.数据库使用

  • select database();(查看正在使用的数据库)
  • use 数据库名;(使用指定数据库)

6.表创建

  • create table 表名 (字段名1 字段类型1, 字段名2 字段类型2…);

7.MYSQL常用数据类型

  • int(整型)(可不指定大小,默认为11)
  • double(浮点型)
  • varchar(可变字符)
  • char(不可变字符)
  • date(日期类型)

8.表查看

  • show tables;(查看使用数据库所有表)
  • desc 表名;(查看表结构)
  • show create table 表名(查看创建表的SQL语句)

9.表拷贝

  • create table 新表名 like 旧表名;

10.表删除

  • drop table 表名;(直接删除表)
  • drop table if exists 表名;(存在判断删除表)

11.表列修改

  • alter table 表名 add 列名 类型;(表列字段添加)
  • alter table 表名 modify 列名 新类型;(更改字段类型)
  • alter table 表名 change 旧列名 新列名 新类型;(更改字段名和类型)
  • alter table 表名 drop 列名;(删除表字段)
  • rename table 表名 to 新表名;(重命名表)
  • alter table 表名 character set 字符集(更改表字符集)

4.DML语句

1.表中字段插入

  • 完全格式:insert into 表名 (字段名1, 字段名2, 字段名3…) values(值1, 值2, 值3);
  • 简化格式(要求给出所有字段值并且顺序一致):insert into表名 values(值1, 值2, 值3…);
  • 部分数据插入:insert into表名 (字段1,字段2,…) values(值1, 值2, …);

2.命令行编码问题

  • 在命令行输入set names gbk;(单个命令行有效)

3.蠕虫复制

  • 创建一个新表,其表结构和数据与另一个表一致
  • create table 新表 like 旧表;
  • insert into 新表 select * from 旧表;

4.表中字段更新

  • update 表名 set 字段名 = 值;(指定字段所有行修改)
  • update 表名 set 字段名 = 值 where 筛选条件;(指定字段指定行修改)

5.表中字段删除

  • delete from 表名;(删除表中所有字段数据)
  • delete from 表名 where 筛选条件;(删除表中指定字段数据)
  • truncate table 表名;(摧毁表并创建原表结构的新表)

5.DQL语句

1.查询表中所有列数据

  • select * from 表名;

2.查询表中指定列数据

  • select 指定列 from 表名;

3.别名查询

  • select 字段名1 as 别名, 字段名2 as 别名… from 表名;
  • select 字段名1 as 别名, 字段名2 as 别名… from 表名 as 表别名;

4.去重查询

  • select distinct 字段名 from 表名;

5.运算查询

  • select 列名1+固定值 from 表名;(列数据与固定值运算)
  • select 列名1+列名2 from 表名;(列数据与其他列数据运算)

6.比较运算符

  >(大于)
  <(小于)
  <=(小于等于)
  >=(大于等于)
  =(等于)
  <>、!=(不等于)

7.逻辑运算符

and (与)
or (或)
not (非)
in (范围内)
not in(不在范围内)
between 值1 AND 值2(在值之间)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值