mysql 基础学习

关系型数据库
数据库服务器 -> 数据库 -> 数据表 -> 行 -> 列
mysql
工作模式 b/s   -->  服务器端/客户端

show databases;
use 数据库名称;
show tables;
desc 数据表名称;
quit ;

标准的SQL命令分类
定义数据(DDL):create/drop/alter(修改)
操作数据(DML):insert/delete(删除)/update(修改数据)
查询数据(DQL):select                                                                                                             
控制权限(DCL):grant(授权)/revoke(收权)

 

 

常用基本命令如下:

表名 : news 

 create database xuezi;创建数据库  xuezi;

#设置客户端连接服务器端的编码
set names utf8;
#丢弃数据库,如果存在
drop database if exists sina;
#创建新的数据库,设置存储的编码
create database sina charset=utf8;

mysql -h localhost -u root -p  或者 mysql -uroot -p    链接数据库

source + 拖拽sql 文件(改成反斜杠 不要双引号)  执行sql文件 

show tables;  查看所有表格  

set charset gbk;  设置字符编码

desc news;   查看 表格的所有字段

alter table news drop origin;  删除表格的“origin”字段

alter table news add origin varchar(16);   给表格 增加“origin” 字段

alter table news change origin sex int;    将表格字段“origin”字段 改成“sex” 数据类型为int

create table person(id int,name varchar(20),addr varchar(100),sex int);  创建表格

insert into person values(1,'j','b','1');  插入数据

insert into person values(2,'j',default,'1');

insert into person(id,sex) values(3,0);  插入的数据

update person set addr='zzzz' where id=2;   修改数据

delete from emp where deptId = 10;  删除deptId=10 的数据

select *from emp where ename like '黄%'; 模糊查询 emp 表中  ename首字为 黄 的

## 查询出工资在10000以上的男员工的姓名,生日,工资;按照工资降序排列。

先条件后排序

select ename,birthday,salary from emp

where salary>7000 and sex=1

order by salary desc;  desc降序 asc升序 默认升序

主键、外键

##创建 部门表 dept,did 设为主键,自动增长

create table dept(
  did int primary key auto_increment,
  dname varchar(16) unique
);

##创建一个员工表 eid 设为主键,自动增长 deptId 设外键约束 与dept中的did关联  ename不能为空

create table emp(
  eid int primary key auto_increment,
  ename varchar(8) not null,
  sex boolean default 1,
#1-男 0-女
  birthday date,
  salary decimal(7,2),
#99999.99 十进制最大七位,精确到小数点后两位
  deptId int,
  foreign key(deptId) references dept(did)
);

##添加外键

 alter table 从表 add constraint 约束名 foreign key(user_id) references 主表(uid);

实战----学子商城数据库:

操作过程:

  1. create database xuezi
  2.  show databases;
  3.  use xuezi;
  4.  create table xz_user(
        uid int primary key auto_increment,
        uname varchar(32),
        upwd varchar(32),
        email varchar(64),
        phone varchar(16),
        avatar varchar(128),
        user_name varchar(32),
        gender int);
  5. create table xz_receiver_address(
        aid int primary key auto_increment
        user_id int);
  6. alter table xz_receiver_address add constraint FK_user foreign key(user_id) references xz_user(uid);
  7. create table xz_order(
          aid int primary key auto_increment,
          user_id int,
          address_id int,
          order_time bigint,
          foreign key(user_id) references xz_user(uid),
          foreign key(address_id) references xz_receiver_address(aid));
  8.  create table xz_laptop_family(
          fid int primary key auto_increment,  
          name varchar(16) unique);   
  9. create table xz_laptop(
         lid int primary key auto_increment,
         family_id int,
         title varchar(128),
         name varchar(32),
         price decimal(10,2));
  10.  alter table xz_laptop add constraint PK_F foreign key(family_id) references xz_laptop_family(fid);
  11.  create table xz_laptop_pic(
          pid int primary key auto_increment,
          laptop_id int,
          sm varchar(128),
          foreign key(laptop_id) references xz_laptop(lid));
  12.  create table xz_shopping_cart(
         cid int primary key auto_increment,
         user_id int,
         product_id int,
         count int,
         foreign key(user_id) references xz_user(uid),
         foreign key(product_id) references xz_laptop(lid));
  13.  create table xz_order_detail(
          did int primary key auto_increment,
          order_id int,
          product_id int,
          count int,
          foreign key(order_id) references xz_order(aid),
          foreign key(product_id) references xz_laptop(lid));
  14.  create table xz_index_product(
          pid int primary key auto_increment,
          title varchar(64),
          details varchar(128),
          pic varchar(128));
  15.  create table xz_index_carousel(
         cid int primary key auto_increment,
         img varchar(128),
         title varchar(128),
         href varchar(128));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值