MySQL数据库(增删改查语句)

时间:2022-11-12 06:32:16

MySQL数据库(增删改查语句)
一.登录数据库:---->  mysql -uroot -proot;(对应用户名和密码)
二.SQL语句:
    数据定义语言DDL  用来定义数据库、表、列,关键字为 create、alter、drop
    数据操作语言DML  用来进行数据库更新的操作,关键字为 insert、delete、update
    数据控制语言DCL  用来定义数据库的访问权限,安全级别的。
    数据查询语言DQL  用来查询数据库中表的记录,关键字为select、from、where

三. 1.使用数据库: use 数据库名;
    2.改编码格式:set names gbk;
    3.主键约束:
        特点:非空,只用于表示当前的记录
        id int primary key;
    4.主键自动增长:
        主键字段后加 auto_increment  只适用于MySQL
    5.不能插入中文数据的问题:
        set names gbk;
四:增删改查:*****

增:创建
    1.创建一个数据库:create database 数据库名;
    2.创建一个表:
        create table 表名(字段名 类型(长度),(字段名 类型(长度),...);
    eg: create table user(sid    int   (12),   sname varchar(50),...);
    
    3.添加信息:insert into 表名 values (  ,   ,   );
           eg:  insert into user values (1,'张三',22);
           数据表添加数据:
    4.向表中插入数据: insert into 表名(列名1,列名2,...) values (值1,值2...);

删:
    1.删除数据库:drop database 数据库名;
    2.删除主键:
        alter table 表名 drop primary key;
    3.删除表: drop table 表名;
    4.删除数据:
        delete from 表名 where 条件;
        表数据清空:delect from 表名;
    
    
改:
    1,修改表的结构:
        添加列:alter table 表名 add 列名 类型(长度) 约束;
        修改列的类型:alter table 表名 modify 列名 类型(长度);
        修改列名: alter table 表名 change 旧列名 新列名 类型(长度);
        删除列: alter table 表名 drop 列名;
        修改表名: rename table 表名 to 新表名;
        修改表的字符集: alter table 表名 character set 字符集;
    2.更新数据:
        update 表名 set 字段名 = 值,字段名= 值;   ------改全部;
        update 表名 set 字段名 = 值 where 条件;

查:
    1.查看全部数据库:show databases();
    2.查看正在使用的数据库: select database();
    3.查看数据库中的表:show table;
    4.查看表中所有的内容:select * from 表名;
    5.查看数据类型:desc 表名;
    6.查看数据库中的表:show;
    7.查看结构: desc 表名;
    8.distinct 重复的,只显示一次
        select distinct sname from 表名;
    9.排序查询: order by 列名;    ----asc升序,desc降序
        select * from 表名 order by 列名 asc;
        select * from 表名 order by 列名 desc;
    10.聚合函数: count 对表中的数据个数求和
        select count * as '总数' from 表名;
    11.模糊查询
        select * from 表名 where sname like "%具体关键字%";//查看带有此关键字的信息
        select * from 表名 where sname like "____";//几个_就显示出sname中相应字数的值
        select * from 表名 where sname like "_____";
        select * from 表名 where sname is not null;//查看sname信息不为空的所有信息
    12.条件查询:
        select * from 表名 where sname='吃饭支出';//查找sname中所有的'吃饭支出'的行
        select * from 表名 where money>=1000;//查找钱数大于等于1000的行
        select * from 表名 where money BETWEEN 100 AND 1000;查找100到1000之间的行