Mysql库、表、记录的基本操做

库的操做 ---> 相似于文件夹python

- 增:
        建立数据库:		create database db1;
        建立带字符集的数据库:	create database db2 charset=utf8;
                
    - 查
		查看全部库:		show databases; 
        查看库中的信息: show create database db1; 
        
    - 改
        修改数据库编码: alter database db1 charset="utf8";

    - 删
        删除库:drop database db1;

表的操做 ---> 相似于文件mysql

- 操做表前,须要先切换到指定库
      语法: 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);
        
    - 删
        删除表:drop table user_info;
		删除sex列:alter table user_info drop sex;
注意:
1.建立表的字段名不能重复;
2.最后一个字段不能在末尾加 , 号
3.字段名必需要有字段类型与宽度

记录 的操做 ---> 相似于文件中的一行行数据sql

- 增:
        语法: 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 关键字不区分大小写编码

语法:code

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

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

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

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

  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;   //条件为假,查不到任何记录
相关文章
相关标签/搜索