SQL的---DDL语句---DML语句

*sql命令语句## 标题

Mysql的登录

方法一:Mysql -h链接## ip -u用户名 -p密码
方法二:mysql --host= 链接ip --user=用户名 --password=密码

如果显示使用我们的密码则会进行警告
退出登录的方法: exit quit ctrl+c
sql语法是关系型数据库都需要遵守的一个规范,多个关系型数据库之间,有很多语法相互重合.
sql规范相当于普通话,其他关系型数据库类似于方言,大部分内容相同,但都有自己的特色内容和语法

sql语法的划分

  • DDL:数据库定义语言(data definition language)
    关键字: create , alter , drop
  • DML:数据库操作语言(data manipulation language)
    关键字: insert, delete, update
  • DQL:数据库查询语言(data query language)
    关键字: select , from , where
  • DCL:数据库控制语言(data control language)

SQL公共语法:

语法灵活,可以随意换行,空格或缩进,增强可读性
以分号结尾
SQL语句关键字部分不区分大小写,建议关键字使用大写
标识符部分,windows不区分大小写,但是linux系统中区分大小写
关键字:系统定义的具有特殊功能或者含义的字符组合(例如,查询,select)
标识符:程序员自己定义的,具有特殊功能的或者含义的字符组合(文件名,或者变量名)
可以使用 /**/ 作为多行注释,可以使用 --和# 作为单行注释, 注释的快捷键:crtrl+/

Sql数据类型

划分数据类型,有利于我们更好的存储和查询数据
数据类型中的细分有利于我们更好的利用磁盘空间

常用的数据类型:
字符型:varchar char
整型:int
浮点型: decimal
日期: data datetime

DDL操作语句

  • 数据库的创建:
    create database 数据库名称;
  • 数据库的展示:
    show database ;
  • 数据库的删除:
    drop database 数据库的名称;
  • 数据库的使用:
    use 数据库的名称;
  • 查看当前使用的数据库:
    select database();

#数据库的创建
create database test_db;
#创建数据库,如果数据库存在不报错
create database if not exists test_db1;
#创建数据库时指定字符集
#utf8字符集包含所有的汉字
#unicode码:万国码   utf-16  utf-32
create database if not exists test_db2 character=utf8;
create database if not exists test_db2 character set utf8;

DDL: TABLE

  • 表的创建: create table 表名(字段名 类型 约束,字段名 类型 约束…)

  • 表的查询:show tables / desc 表名

  • 表的删除:drop table 表名1,表名2…

#创建数据表
 Create table 表名(cid  varchar(10) primary key , cname varchar(255)
);

#创建表,并且表存在是不报错
 Create table if not exists category1(cid varchar(10) primry key , cname varchar(255));
 
#查看数据表
 Show category;
 
#查看表结构
 Desc category;
 
#表的删除
 Dorp table category;
 
#能否一次删除多张表?可以
 Drop table category,category1;
 
#注意:不能一次删除多个库,数据库只能一个一个的删除
  • 添加字段:
    alter table 表名 add 字段名 字段类型 约束;

  • 修改字段:
    alter table 表名 change 原字段名 新字段名 字段类型 约束

  • 删除字段:
    alter table 表名 drop 字段名;

  • 修改表名:
    rename table 旧表名 to 新表名;

#添加一个字段
#使用 ` ` 可以防止关键字进行转译
 ALTER TABLE category ADD `desc` VARCHAR(100);
 DESC  category ;

#如果要添加字段不是关键字,则不需要使用 ` ` 
 ALTER TABLE category ADD `num` int;

#修改字段 unique 唯一约束: 此约束修饰字段不能重复
ALTER TABLE category CHANGE `desc` description VARCHAR(100) UNIQUE;
DESC category;

#删除字段
ALTER TABLE category DROP num;

#不能同时删除两个字段
ALTER TABLE category DROP num num1;

#修改表名
 RENAME TABLE category TO category2;

DML数据操作语言

  • 插入表记录:
    insert into 表名 values (字段1,字段2…)

  • 插入多条数据:
    insert into 表名 values (字段1,字段2…) , (字段1,字段2…) ,
    (字段1,字段2…)

如果插入时想指定插入的字段,在表名后面添加括号,写上需要插入的字段名称

  • 更新记录:
    update表名 set 字段名=值 where条件;

  • 删除记录:
    delete from 表名 where条件;

#Insert 插入记录
#这种方式进行插入,value中的字段数量一定要和表中的字段数量一致,可以插入null
INSERT INTO category2 VALUES(`c001` , `水果` , `很甜`);

#可以在表名后面添加括号,只插入指定的字段,未插入的字段默认只为空(null)
INSERT INTO category2 (cid, cname) VALUES (`c002`, `数码`);

#只能一次性插入一条目录吗? 不
#一次性可以插入多条目录
INSERT INTO category2 VALUES(`c003` , `服装` , `abc`) , (`c004` , `图书` , `null`);
INSERT INTO category2 (cid, cname) VALUES (`c005`, `清洁`) , (`c006`, `生鲜`) , (`c007` , `家具`)

#更新记录
UPDATE category2 SET CNAME=`房产`;
UPDATE category2 SET CNAME=`水果` WHERE cid = `c001` ;

ALTER TABLE category2 ADD num int;

UPDATE category2 SET num = 100;

#注意:更新的数据内容要和原数据的类型及范围一致
UPDATE category2 SET num = `No.1` WHERE cid = ` c005`;

#删除记录 delete

#删除指定的记录
DELETE FROM  category2 WHERE cid = `c005`;

#删除全部记录
DELETE FROM  category2;

#清空记录 truncate
TURNCATE TABLE category2;

#delete 删除记录,不恢复表的状态, truncate删除记录,并将恢复到初始状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值