zoukankan      html  css  js  c++  java
  • mysql库、表、记录的基本操作

    mysql库、表、记录的基本操作

     库的操作 ---> 类似于文件夹
        - 增:
            创建数据库:		create database db1;
            创建带字符集的数据库:	create database db2 charset=utf8;
                    
        - 查
    		查看所有库:		show databases; 
            查看库中的信息: show create database db1; 
            
        - 改
            修改数据库编码: alter database db1 charset="utf8";
    
        - 删
            删除库:drop database db1;
            
    

    表的操作 ---> 类似于文件

    - 操作表前,需要先切换到指定库
          语法: use 库名;
              - use db1;
              - 
            查看当前所在的库: select database()
    
        - 增
        	# 约束条件可有可无
        	# 宽度: 限制某些数据类型的存储大小
            添加表:create table 表名(字段名 字段类型(宽度)) 约束条件;
                 - create table user_info(name varchar(20), age int);            
            
    		表中添加字段:alter table user_info add salary int;
    		
    			
        - 查
            查看当前库中所有的表: show tables;  
            查看表结构:  desc user_info;  
    
        - 改
            修改job值:alter table user_info modify name varchar(28);        注意这里是内容(类型+约束格式)的全部替换
            修改表编码 alter table user_info charset gbk
            修改表名:rename table user_info to user_info2;
            列name修改为username:alter table user_info change column name username varchar(100);    column可以省略        
        - 删
            删除表:drop table user_info;
    		删除sex列:alter table user_info drop sex;
    注意:
    1.创建表的字段名不能重复;
    2.最后一个字段不能在末尾加 , 号
    3.字段名必须要有字段类型与宽度
    

    记录 的操作 ---> 类似于文件中的一行行数据

        - 增:
            语法: insert into 表名 values('字段类型的数据1', 字段类型的数据1);
                # 插入一条
                - insert into user_info values('tank', 17);
    
                # 插入多条
                - insert into user_info values('jason', 71), ('sean', 78);
    
        - 查:
            *: 指的是所有
            语法: select * from 表名;  # 查看表中所有的数据
                  select * from 表名 where 条件;  # 条件成立则查看成功!
                    - 
                # 查看 name 字段为 tank 的记录
                    - select * from user_info where name="tank"; 
    
                # 查看 name 字段为 tank 的age字段
                    - select age from user_info where name="tank";
    
                # 查看所有的name:
                    - select name from user_info;
    
        - 改
                语法: update 表名 set 字段名=字段值 where 条件判断;  # 若条件成立,则修改成功!
    
                # 修改age为17的记录中name属性为 handsome
                - update user_info set name='handsome' where age=17;
    
                # 修改age>16的记录 中name属性为 d_sb
                - update user_info set name='d_sb' where age>16;
    
        - 删
        	语法:alter table user_info drop age
    		语法:delete from user_info where name='tank'  #删除表中名称为“tank”的记录
    
            语法: delete from 表名;  # 清空表记录,不提交,可恢复。
    
            语法: truncate table 表名;  # 删除,不可恢复
                
    
    

    了解:修改表的操作

    注意: mysql 关键字不区分大小写

    语法:

    1. 修改表名
      alter table 表名 rename 新表名;

    2. 增加字段
      alter table 表名
      add 字段名 数据类型 [完整性约束条件…],
      add 字段名 数据类型 [完整性约束条件…]; # 默认添加到最后一列

      alter table 表名
      add 字段名 数据类型 [完整性约束条件…] first; # 添加到第一列

      alter table 表名
      add 字段名 数据类型 [完整性约束条件…] after 字段名; # 添加到某一列之后

    3. 删除字段
      alter table 表名 drop 字段名;

    4. 修改字段
      alter table 表名
      modify 字段名 数据类型 [完整性约束条件…]; # 修改数据类型

      alter table 表名
      change 旧字段名 新字段名 旧数据类型 [完整性约束条件…]; # 修改字段名,保留字段类型

      alter table 表名
      change 旧字段名 新字段名 新数据类型 [完整性约束条件…]; # 修改字段名与字段类

    复制表:

    复制表结构+记录 (key不会复制: 主键、外键和索引)
    create table new_service select * from service;
    
    只复制表结构
    create table new1_service select * from service where 1=2;   //条件为假,查不到任何记录
     1、首先创建一个数据表table_test:
    # create table table_test(
    # `id` varchar(100) NOT NULL,
    # `name` varchar(100) NOT NULL,
    # PRIMARY KEY (`name`)
    # );
    # 2、如果发现主键设置错了,应该是id是主键,但如今表里已经有好多数据了,不能删除表再重建了,仅仅能在这基础上改动表结构。
    # 先删除主键
    # alter table table_test drop primary key;     或者 alter table table_test drop constraint 主键约束名
    # 然后再增加主键
    # alter table table_test add primary key(id);        alter table table_test add constraint pk_table_test primary key(id);
    # 注:在增加主键之前,必须先把反复的id删除掉。
     
  • 相关阅读:
    jdk环境一键配置
    IIS 浏览aspx页面出现 无法显示 XML 页
    ASP.NET MVC(三)
    ASP.NET MVC(二)
    ASP.NET MVC (一)
    Fatal error: Call to a member function bind_param() on a non-object in
    Eclipse字符集设置方式
    mysql 管理工具
    win7 IIS发布项目遇到的问题
    php 环境的搭建
  • 原文地址:https://www.cnblogs.com/wddxx/p/13735551.html
Copyright © 2011-2022 走看看