• mysql命令行脚本


      1 -- 数据库的操作
      2     
      3     -- 链接数据库
      4     mysql -uroot -p
      5     mysql -uroot -p密码
      6 
      7     -- 退出数据库
      8     exit/q/ctrl+d
      9 
     10     -- sql语句最后需要有分号;结尾
     11     -- 显示数据库版本
     12     select version();
     13 
     14     -- 显示时间
     15     select now();
     16 
     17     -- 查看所有数据库
     18     show databases;
     19 
     20     -- 创建数据库
     21     -- create database 数据库名 charset=utf8;
     22     create database python04 charset=utf8;
     23 
     24     -- 查看创建数据库的语句
     25     -- show create database....
     26     show create database python04;
     27 
     28     -- 查看当前使用的数据库
     29     select database();
     30 
     31     -- 使用数据库
     32     -- use 数据库名;
     33     use python04;
     34 
     35     --删除数据库
     36     -- drop database 数据库名;
     37     drop database python04;
     38 
     39 
     40 -- 数据表的操作
     41 
     42 
     43     -- 查看当前所有的数据库表
     44     show tables;
     45 
     46     -- 创建表
     47     -- auto_increment 表示自动增长
     48     -- not null 表示不能为空
     49     -- primary key 表示主键
     50     -- default 默认值
     51     -- create table 数据表名称(字段 类型 约束[,字段 类型 约束]);
     52     -- 创建classes表(id, name)
     53     create table `classes` (
     54         `id` int primary key not null auto_increment,
     55         `name` varchar(30) not null
     56     );
     57 
     58     -- 查看数据表结果
     59     -- desc数据库名称;
     60     desc classes;
     61 
     62     -- 创建students表(id,name,age,high,gender,cls_id)
     63     -- unsigned表示无符号范围(正数)
     64     create table students(
     65         id int unsigned not null auto_increment primary key,
     66         name varchar(30) not null,
     67         age tinyint unsigned,
     68         high decimal(5,2),
     69         gender enum('','','保密') default '保密',
     70         cls_id int unsigned
     71     );
     72 
     73     -- 添加表数据
     74     -- insert into 表名 values(按创建时顺序分别插入数据);
     75     insert into students values(0, '老王', 18, 185, '', 0);
     76 
     77     -- 查询表数据
     78     select * from students;
     79 
     80     -- 查看表的创建语句
     81     -- show create table 表名;
     82     show create table students;
     83 
     84     -- 查看表结构
     85     desc table students;
     86 
     87     -- 修改表——添加字段
     88     -- alter table 表名 add 列名 类型;
     89     alter table students add birthday datetime;
     90 
     91     -- 修改表——修改字段:不重命名版
     92     -- alter table 表名 modify 列名 类型及约束;
     93     alter table students modify birthday date;
     94 
     95     -- 修改表——修改字段:重命名版
     96     -- alter table 表名 change 原名 新名 类型及约束;
     97     alter table students change birthday birth date default '2000-01-01';
     98 
     99     -- 修改表——删除字段
    100     -- alter table 表名 drop 列名;
    101     alter table students drop high;
    102 
    103     -- 删除表
    104     -- drop table 表名;
    105     drop table students;
    106 
    107 
    108 -- 增删改查
    109 
    110     -- 增加
    111         --全列插入
    112         -- insert [into] 表名 values(...)
    113         -- 主键字段 可以用0 null default 来占位
    114         -- 向classes表中插入 一个班级
    115         insert into classes values(1, '菜鸟班')
    116 
    117         -- 向students表中插入 一个学生信息
    118         insert into students values(null, '小乔', 18, '', 0, '2002-01-01')
    119 
    120         -- 部分插入
    121         -- insert into 表名(列1,...) values(值1,...)
    122         insert into students (name, age, gender) values ('张飞', 19, '')
    123 
    124         -- 多行插入
    125         insert into students (name, age, gender) values('李白', 20, ''),('貂蝉', 18, '')
    126 
    127     -- 修改
    128     -- update 表名 set 列1=值1,列2=值2...where 条件;
    129     -- 不加条件修改全部
    130     update students set age=20 where name='张飞'
    131 
    132     -- 删除
    133         -- 物理删除
    134         -- delete from 表名 where 条件;
    135         -- 不加where条件将会清空表
    136         delete from students where name='小乔'137 
    138         -- 逻辑删除
    139         -- 用一个字段来表示,这条消息是否不能再使用了
    140         -- 给students表中添加一个is_delete字段
    141         -- alter table students add is_delete bit default 0;
    142         alter table students add is_delete bit default=0;
    143         -- update students set is_delete=1 where id=6;
    144         update students set is_delete=1 where id=6;
    145         -- 查询显示数据加上is_delete=0的条件
    146 
    147     -- 查询基本使用
    148         -- 查询所有列
    149         -- select * from 表名;
    150         select * from students;
    151 
    152         -- 指定条件查询
    153         -- select * from students where 条件;
    154         select * from students where name='张飞'155         select * from students where id>6;
    156 
    157         -- 查询指定列
    158         -- select 列1,列2... from 表名;
    159         select name,gender from students;
    160 
    161         -- 可以使用as为列或表指定别名
    162         -- select 字段[as 别名],字段[as 别名] from 数据表 where ...;
    163         select name as 姓名,gender as 性别 from students where id<9;
    164         select id as 序号,name as 姓名,gender as 性别 from students;
    165 
    166         -- 字段的顺序
    167         -- select * from 表名 where 条件 order by 列 [ASC]或[DESC]   ASC顺序,DESC倒序
    168         select * from students where gender='' order by id desc;
    169 
    170 -- 外键相关
    171     -- 同步表A数据到表B,表B是表A的外键表
    172     -- 表A中的班级的种类放到表B的name中
    173     insert into classes (name) select cls_name from students group by cls_name;
    174 
    175     -- 将表A中班级信息修改为 表B中同一班级信息对应的id
    176     update students as s inner join classes as c on s.cls_name=c.name set s.cls_name=c.id
    177 
    178     -- 修改表A中班级信息字段的结构 和表B中id字段的结构一样
    179     alter table students change cls_name cls_id int not null;
    180 
    181     -- 关联外键用于设置后续表A中添加数据 对班级信息的约束
    182     alter table students add foreign key (cls_id) references classes (id);
    183 
    184     -- 创表时关联外键
    185     create table students(
    186         id int unsigned not null auto_increment primary key,
    187         name varchar(30) not null,
    188         age tinyint unsigned,
    189         high decimal(5,2),
    190         gender enum('','','保密') default '保密',
    191         cls_id int unsigned,
    192         foreign key(cls_id) references classes(id),
    193     );
    194 
    195     -- 取消外键
    196     -- 先获取外键约束名称,该名称系统会自动生成,可以通过查看表创建语句来获取名称
    197     show create table students;
    198     --获取名称之后就可以根据名称来删除外键约束
    199     alter table students drop foreign key 外键名称;
  • 相关阅读:
    项目UML设计(团队)
    项目选题报告答辩总结
    UIGestureRecognizer 手势
    CGAffineTransform 图像处理类
    block 应用说明
    Runtime-iOS运行时应用篇
    runtime之归档和解档
    Runloop
    加锁处理
    2017年浙江工业大学之江学院程序设计竞赛决赛 I: qwb VS 去污棒(可持久化Trie+离线)
  • 原文地址:https://www.cnblogs.com/zzmx0/p/12735464.html
Copyright © 2020-2023  润新知