MySQL初步

MySQL语句的分类

1.DDL 数据库定义语言 data definition language || create alter drop
2.DCL 数据库控制语言 data control language || grant rollback commit
3.DML 数据库操纵语言 data manipulation language || insert delete update select

MySQL常用语句

链接数据库服务

mysql -u root -p
根据提示再输入密码

DDL(create drop alter)

1.创建一个库 
    create database dname [character set sname collate cname];
    character set: 数据库码表
    collate: 校对集 决定数据排序
2.查看所有库
    show databases;
3.删除一个数据库
    drop database dname;
4.修改数据库码表和字符校对
    alter database dname character set sname [collate cname];
5.当前要使用的库
    use dname;
6.查看当前选择的数据库
    select database();
7.显示创建库的语句
    show create database dname; 
8.创建表
    create table name(
        filed1 datatype constraint,
        filed2 datatype constraint
    );
    create table table_user(
        id int auto_increment,
        name varchar(20),
        sal double(4, 3),
        birthday datatime,
        hiredate timestamp
    );
    列的约束:not null,unique,primary key,auto_increament
9.查看当前库中有哪些表
    show tables;
10.查看表的结构
    desc tname;
11.添加一列
    alter table tname add name;
12.修改列的名称
    alter table tname change oname nname datatype;
13.删除列
    alter table tname drop name;
14.修改表的名称
    rename table oname to nname;
15.修改字符集
    alter table tname character set sname collate cname;
16.修改列的数据类型
    alter table tname modify rname ndatatype;

DML(insert delete update select)

1.插入一条数据
    insert into tname(filed1, filed2) values(v1, v2);
    insert int tname values(v1, v2, v3...);
2.修改一条记录
    update tname set rname = v1 rname = v2 ... where ...;
3.删除表中的记录
    delete from tname where ...;
    delete from tname;
    truncate table tname;
4.查询语句
    select selection_list
    from table_list
    where condition
    group by grouping_columns
    having condition
    order by sorting_columns
    limit offset_start, row_count;

    条件判断: and,or,not,in,not in,between and,is not,is not null,like
    %:通配任意字符
    _:通配一个字符
    distinct:去除重复记录
    ifnull(arg1,arg2):arg1为空则返回arg2
    asc:升序
    desc:降序
    count(r...):指定列不为NULL的记录数
    max(r):指定列最大值
    min(r):指定列最小值
    avg(r):指定列平均值

    example:
    select * from stu where gender = 'female' and age < 25;
    select * from stu where sid = 'S_1001' or name = 'LiShi';
    select * from stu where sid in ('S_1001', 'S_1002');
    select * from stu where age is null;
    select * from stu where not gender = 'male';
    select * from stu where sname = '李%';
    select distinct gender from stu;
    select sal*12 + ifnull(comm, 0) as '年收入' from stu;
    select * from stu order by age asc;
    select count(*) from emp where sal + ifnull(comm, 0) > 2500;
    select deptno,count(ename) from emp where sal>1500 group by deptno ;
    select * from emp limit 5, 5;

MySQL的数据类型

数字型

TINYINT 一个字节
SMALLINT 两个字节
MEDIUMINT 三个字节
INT 四个字节
BIGINT 八个字节

FLOAT 单精度四个字节
DOUBLE 八个字节
DECIMAL 没有进度损失(底层字符串实现)

字符串类型

CHAR/VARCHAR  (最大长度255字节)
区别:CHAR定长VARCHAR变长,如都指定10存储abc,CHAR->'abc       ',VARCHAR->'abc',开发中VARCHAR用得多,CHAR只是在固定长度的枚举中使用,如:性别(01男,02女)
TEXT/CLOB 保存文本(字符流)
区别:TEXT只用来存储字符数据,CLOB还可以存储多媒体(图片 声音 图像)
BLOB 保存字节(字节流)

日期和时间

date 日期
time 时间
year 年
datatime/timestamp 日期时间
区别:插入没有传值时,datatime为null,timestamp默认为当前时间       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值