• 【9-2】mysql数据库学习01


    mysql安装


     

    • 下载社区版本MySQL软件包(地址),或者windows installer
    • 接压缩安装包到目标路径
    • 在系统变量Path中加入目标路径
    • 在mysql安装路径下,修改配置文件mysql-default.ini:

        basedir = C:mysqlmysql(mysql所在目录)

        datadir = C:mysqlmysqldata(mysql所在目录data)

    • 以管理员身份启动CMD,运行安装: mysqld -install
    • 启动mysql: net start mysql
    • 登陆mysql:mysql -u root -p
    • 更改密码:mysql> update mysql.user set password=PASSWORD('123') where User='root' ;
    • mysql> flush privileges 

     

    表操作


     

    • 创建 create table [模式名].tablename(column_name 数据类型 default 值,......);

    • 删除表: drop table table_name;
    • 重命名表名:alter table table_name rename to new_table_name;
    • 添加列: alter table tablename add ......;
    • 修改列: alter table tablename modify ......;
    • 删除列: alter table tablename drop column_name;
    • 重命名列名:alter table tablename change old_column_name new_column_name;
    • 删除表中的数据:truncate tabl_name;

     

    约束


     

    • 非空约束:在列定义和修改是追加 not null,取消非空约束追加 null;
    • 唯一约束:UNIQUE
      • 列级约束语法:在列定义后加 unique 关键字;
      • 表级约束语法(为多列建立组合约束):在创建表或修改表(add)时加入:unique(列名) 指定约束名:constraint 约束名 unique(列名,列名,....);(几个列名对应值组合不一样)
      • 删除唯一约束:alter table table_name drop index 约束名;
    • 主键约束:primary key
      • 在定义列时,追加 primary key
      • 表级约束语法:constraint 约束名 primary key(列名),或者 primary key(列名);
      • 删除主键约束:alter table table_name drop primary key;
      • 增加主键约束:add primary key(列名); modify 列名 primary key;
      • 主键自增长:auto_increment primary key
    • 外键约束:references table_name(column_name)
      • 列级约束:追加 references table_name(column_name);
      • 表级约束:foreign key(column_name) references table_name(column_name);
      • 为外键约束指定名字:constraint 约束名 foreign key(column_name) references table_name(column_name);
      • 删除约束:drop foreign key 约束名;
      • 外键约束可以自参照;
      • 主表删除时动作:追加 on delete cascade 或 on delete set null;
      • 列的值可以为null;
    • CHECK约束:追加 check(表达式);(不过,不起作用)

     

    索引


    •  创建:create index index_name on table(column_name);
    • 删除:drop index index_name on table(column_name) ;
    • mysql数据库要求不同表,索引可以相同,oracle则要求索引名全局唯一;

     

    视图


     

    • 创建:create or replace view view_name as 查询语句;
    • with check option ,创建的视图不可修改;
    • oracle 数据库:with read only;
    • 删除:drop view view_name;

     

    记录的插入,修改,删除


    • 插入:insert into table_name[ (column_name,.......)] values(value,......);或者可以用select查询子句来插入值;
    • update:update table_name set column_name=value where 条件表达式;
    • delete from : delete from table_name where条件表达式;

     

    MySQL密码重置


    • net stop mysql
    • mysqld -nt --skip-grant-tables
    • 打开一个新命入令行窗口,执行mysql,此时不需密码即可连接
    • 1 use mysql;
      2 update user set password=password("新密码") where user="root";
      3 flush privileges;
      4 exit;
    • 进任务管理器关闭mysqld -nt进程
    • net start mysql 

     

    tips


    • 利用Explain命令分析sql执行效率
  • 相关阅读:
    第五周作业
    第四周编程总结
    第六周作业
    2019春第五周作业
    2019年春季学期第四周作业
    2019年春季学期第三周作业
    求最大值及其下标
    7-1
    第十周课程总结
    第九周课程总结&实验报告(七)
  • 原文地址:https://www.cnblogs.com/achievec/p/4777455.html
Copyright © 2020-2023  润新知