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删除掉。
     
  • 相关阅读:
    读书笔记之理想设计的特征
    一些javascript 变量声明的 疑惑
    LINQ 使用方法
    Google MySQL tool releases
    读书笔记之设计的层次
    EF之数据库连接问题The specified named connection is either not found in the configuration, not intended to be used with the Ent
    转载 什么是闭包
    javascript面向对象起步
    Tips
    数据结构在游戏中的应用
  • 原文地址:https://www.cnblogs.com/wddxx/p/13735551.html
Copyright © 2011-2022 走看看