Mysql--sql基础语句学习

一、基础知识

MySQL数据库基本操作知识储备

数据库服务器:一台计算机(对内存要求比较高)

数据库管理系统:如mysql,是一个软件

数据库:db1,相当于文件夹

表:student,scholl,class_list,相当于一个具体的文件

记录:1 从零开始 23 22,相当于文件中的一行内容

二、WHTA SQL?

SQL(Structured Query Language 即结构化查询语言)
SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:
DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

三、数据库文件解释

information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等
performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象
mysql: 授权库,主要存储系统用户的权限信息

四、数据库操作-database

关键字

create、show、 use、drop、alter

命名规则

可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位

基本语法

1、创建数据库
create database db1 charset utf8;
create database db1;
2、 查看数据库
show databases;
show create database db1;
select database();

3、 选择数据库
USE 数据库名

4、 删除数据库
DORP DATABASE 数据库名;

5、 修改数据库
alter database db1 charset utf8;

五、表操作-table

关键字

一级
create、alter、drop、delete、show、truncate
二级
add、rename、modify、change、drop、

基本语法

1. 创建表
    create table 表名(
    字段名1 类型[(宽度) 约束条件],
    字段名2 类型[(宽度) 约束条件],
    字段名3 类型[(宽度) 约束条件]
    );
2. 修改表名
    ALTER TABLE 表名 RENAME 新表名;
3. 增加字段
    ALTER TABLE 表名
                    ADD 字段名  数据类型 [完整性约束条件…],
                    ADD 字段名  数据类型 [完整性约束条件…];
    ALTER TABLE 表名 ADD 字段名  数据类型 [完整性约束条件…]  FIRST;
    ALTER TABLE 表名 ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;

4. 删除字段
    ALTER TABLE 表名 DROP 字段名;
5. 修改字段
    ALTER TABLE 表名 MODIFY  字段名 数据类型 [完整性约束条件…];
    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];

6.示例
        修改存储引擎
    mysql> alter table service
        -> engine=innodb;

        添加字段
    mysql> alter table student10
        -> add name varchar(20) not null,
        -> add age int(3) not null default 22;

    mysql> alter table student10
        -> add stu_num varchar(10) not null after name;                //添加name字段之后

    mysql> alter table student10                        
        -> add sex enum('male','female') default 'male' first;          //添加到最前面

        删除字段
    mysql> alter table student10
        -> drop sex;

    mysql> alter table service
        -> drop mac;

        修改字段类型modify
    mysql> alter table student10
        -> modify age int(3);
    mysql> alter table student10
        -> modify id int(11) not null primary key auto_increment;    //修改为主键

        增加约束(针对已有的主键增加auto_increment)
    mysql> alter table student10 modify id int(11) not null auto_increment;
    Query OK, 0 rows affected (0.01 sec)
    Records: 0  Duplicates: 0  Warnings: 0

        对已经存在的表增加复合主键
    mysql> alter table service2
        -> add primary key(host_ip,port);        

        增加主键
    mysql> alter table student1
        -> modify name varchar(10) not null primary key;

        增加主键和自动增长
    mysql> alter table student1
        -> modify id int not null primary key auto_increment;

        删除主键
        a. 删除自增约束
    mysql> alter table student10 modify id int(11) not null;

        b. 删除主键
    mysql> alter table student10                                 
        -> drop primary key;

7、复制表
    复制表结构+记录 (key不会复制: 主键、外键和索引)
    mysql> create table new_service select * from service;

    只复制表结构
    mysql> select * from service where 1=2;        //条件为假,查不到任何记录
    Empty set (0.00 sec)
    mysql> create table new1_service select * from service where 1=2;  
    Query OK, 0 rows affected (0.00 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    mysql> create table t4 like employees;
8、删除表
    DROP TABLE 表名;
9、清空表数据
    truncate tabale t1;
    delete from t1;

六、数据操作

关键字

insert into...
update...set...
delete...from...
select...from...

语法

1. 插入完整数据(顺序插入)
    语法一:
    INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);

    语法二:
    INSERT INTO 表名 VALUES (值1,值2,值3…值n);

2. 指定字段插入数据
    语法:
    INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);

3. 插入多条记录
    语法:
    INSERT INTO 表名 VALUES
        (值1,值2,值3…值n),
        (值1,值2,值3…值n),
        (值1,值2,值3…值n);

4. 插入查询结果
    语法:
    INSERT INTO 表名(字段1,字段2,字段3…字段n)
                    SELECT (字段1,字段2,字段3…字段n) FROM 表2
                    WHERE …;
5、更新数据
    语法:
        UPDATE 表名 SET
            字段1=值1,
            字段2=值2,
            WHERE CONDITION;

    示例:
        UPDATE mysql.user SET password=password(‘123’)
            where user=’root’ and host=’localhost’;
6、删除数据
    语法:
        DELETE FROM 表名
            WHERE CONITION;

    示例:
        DELETE FROM mysql.user
            WHERE password=’’;

关于查的问题,我后续再继续更新吧,谢谢您的观看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容