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;   //條件爲假,查不到任何記錄
相關文章
相關標籤/搜索