Myaql

📅 2026/7/9 5:41:15
Myaql
DDL语法操作基础cmd窗口命令学习 1数据库登录 mysql -u用户名 -p密码2展示数据库 show databases;3使用数据库 use 数据库名;4查看数据库中的表 show tables;5 create database 数据库名 创建数据库6 create table 表名 创建数据表7 alter database 修改数据库8 alter TABLE 修改表9 drop database 删除数据库10drop table 删除表格创建数据库if not exists表示如果不存在就创建可以省略CREATE DATABASE if not exists study use charset utf8mb4;-- 创建表格,创建表的结构 指定表格的列名和列的类型-- 常见的列的数据类型-- 整数 int bigint-- 小数 decimal-- 字符串 varchar char-- 日期 date datetime-- 文本 text示例create TABLE [if not exists] 表名(列名 数据类型(长度) 约束,列名 数据类型(长度) 约束,列名 数据类型(长度) 约束) 存储引擎 字符集一张表其实就是一个物体(对象) 比如使用表格来存放学生的信息那么这个学生表中可以有哪些列名 学号、姓名、性别、年龄、专业、班级、生日...描述一个商品可以有哪些列 商品名称、价格、生产日期、保质期、商品描述1字节 8位 位 (bit)计算机最小存储单位只有 0/1 两种状态字节 (Byte)基础存储单位规定 1 Byte 8 bit4字节 32位2^31-1C 语言 int 类型int 占 4 字节合计 32 个二进制位它能存储的最大正数是 2的31次方减1。另32 位有符号 int 完整取值规则32 位里最高 1 位是符号位0 代表正数、1 代表负数剩余 31 位存数值正数最大值2³¹ - 1十进制 2147483647负数最小值-2³¹十进制 -2147483648。-- varchar可变长度的字符串类型根据实际的值占用空间-- char固定长度的字符串类型-- 练习创建一个用户表 user显示表信息desc student; ——DESC 是 DESCRIBE 的简写是 MySQL 专用查询表结构的命令desc student 查看 student 表的完整字段结构。-- 使用alter修改表结构alter table 表名 add column 字段(列)名 数据类型; -- 添加字段alter table 表名 drop column 字段名 ; -- 删除字段alter table 表名 modify 字段名 新数据类型 ;-- 修改字段类型-- 删除表drop table 表名;-- DML语法-- 实现数据库表数据的增insert、删delete 、改 update-- 增加语法/*语法1 列名和值一一对应,没有的列值就为nullinsert into 表名(列1,列2,列3...)values(值1,值2,值3...)语法2表中有几个字段就写几个值insert into 表名 values (值1,值2,值3,值4);批量插入多行数据insert into 表名 values (值1,值2,值3,值4),(值1,值2,值3,值4),(值1,值2,值3,值4);*/insert into student(sid,sname,sage,sgender,sphone,sbirthday)values(10001,张三,20,男,13355557777,2006-10-10);insert into student(sid,sname,sage) values(10002,李四,20);insert into student values(10003,王五,20,男,13355557788,2006-10-10);insert into student values(10004,王六,21,男); -- 报错-- 修改数据update-- 修改指定数据行的列的值/*update 表名 set 列1 值, 列2 值,列3 值 where 字段 值;*/update student set sgender 男,sphone 14455556666 where sname 李四;-- 删除数据 delete-- 删除符合条件的数据行数据不加条件表示删除所有表数据-- delete from 表名 where 字段 值;delete from student where sid 10003;-- 练习往user表中添加数据然后执行修改和删除# 注释-- 注释/*多行注释*/-- 表格的约束/*约束一般在创建表格的时候添加字段的后面用来给这个字段设置对应的约束条件如果有些表格已经创建好了也可以通过alter命令完成约束的添加常见的约束主键 primary key 表示字段非空且唯一一张表只有一个主键一般用在表中的唯一的id后面比如学号用户id非空 not null 表示字段值不能为空唯一 unique 表示字段的值不能重复默认值 default 表示不指定字段值就使用默认值选择 check 从指定的值中选择某个值使用外键约束 foreign key 用来约束两张表之间的关系把两张表作为主表和副表主表数据必须存在才能添加副表数据*/-- 创建表格的时候使用约束drop table student;create table student (sid int primary key,sname varchar(50) not null,sage int not null,sgender char(2) check (sgender in (男,女)),sphone char(11) unique not null,sbirthday date default 2000-10-10-- primary key(sid)-- 主键的另一种用法) ;-- 测试约束的使用insert into student(sid,sname,sage,sgender,sphone,sbirthday)values(10001,张三,20,男,13355557777,2006-10-10);insert into student(sid,sname,sage,sgender,sphone,sbirthday)values(10002,张三,20,男,13355557788,2006-10-10);insert into student(sid,sname,sage,sgender,sphone)values(10003,李四,20,男,13355557799);-- 测试外键约束-- 创建一个订单表订单表中需要一个用户id-- 订单表中的用户id就是外键指向user表中的 uiddrop table order;create table order(oid int ,uid int ,pname varchar(100) ,foreign key (uid) references user(uid) on delete cascade);-- 测试外键的添加用法 必须要保证主表有数据才能往副表中加数据-- 先往order表中添加数据无法添加insert into user values(101,jack,123123,1999-1-1,扬州);insert into order values(201,101,手机);-- 删除数据的时候需要先删副表数据再删主表数据-- 除非加上级联删除on delete cascade-- 可以删除主表的时候同时会把副表数据删除delete from order where uid 101;delete from user where uid 101;