mysql数据库和数据表的操作
1、数据库的操作:
-- 链接数据库
mysql -uroot -p
mysql -uroot -pmysql
-- 退出数据库
exit/quit/ctrl+d
-- sql语句最后需要有分号;结尾
-- 显示数据库版本
select version();
-- 显示时间
select now();
-- 查看所有数据库
show databases;
-- 创建数据库
-- create database 数据库名 charset=utf8;
create database python04;
create database python04new charset=utf8;
-- 查看创建数据库的语句
-- show crate database ....
show create database python04;
-- 查看当前使用的数据库
select database();
-- 使用数据库
-- use 数据库的名字
use python04new;
-- 删除数据库
-- drop database 数据库名;
drop database python04;
2、数据表的操作:
1 -- 查看当前数据库中所有表 2 show tables; 3 4 5 -- 创建表 6 -- auto_increment表示自动增长 7 -- not null 表示不能为空 8 -- primary key 表示主键 9 -- default 默认值 10 -- create table 数据表名字 (字段 类型 约束[, 字段 类型 约束]); 11 create table xxxxx(id int, name varchar(30)); 12 create table yyyyy(id int primary key not null auto_increment, name varchar(30)); 13 create table zzzzz( 14 id int primary key not null auto_increment, 15 name varchar(30) 16 ); 17 18 -- 查看表结构 19 -- desc 数据表的名字; 20 desc xxxxx; 21 22 -- 创建students表(id、name、age、high、gender、cls_id) 23 create table students( 24 id int unsigned not null auto_increment primary key, 25 name varchar(30), 26 age tinyint unsigned default 0, 27 high decimal(5,2), 28 gender enum("男", "女", "中性", "保密") default "保密", 29 cls_id int unsigned 30 ); 31 32 insert into students values(0, "老王", 18, 188.88, "男", 0); 33 select * from students; 34 35 -- 创建classes表(id、name) 36 create table classes( 37 id int unsigned not null auto_increment primary key, 38 name varchar(30) 39 ); 40 41 insert into classes values(0, "python04大神"); 42 select * from classes; 43 44 -- 查看表的创建语句 45 -- show create table 表名字; 46 show create table students; 47 48 49 -- 修改表-添加字段 50 -- alter table 表名 add 列名 类型; 51 alter table students add birthday datetime; 52 53 54 -- 修改表-修改字段:不重命名版 55 -- alter table 表名 modify 列名 类型及约束; 56 alter table students modify birthday date; 57 58 59 -- 修改表-修改字段:重命名版 60 -- alter table 表名 change 原名 新名 类型及约束; 61 alter table students change birthday birth date default "2000-01-01"; 62 63 64 -- 修改表-删除字段 65 -- alter table 表名 drop 列名; 66 alter table students drop high; 67 68 69 -- 删除表 70 -- drop table 表名; 71 -- drop database 数据库; 72 -- drop table 数据表; 73 drop table xxxxx; 74 75 76 -- 增删改查(curd) 77 78 -- 增加 79 -- 全列插入 80 -- insert [into] 表名 values(...) 81 -- 主键字段 可以用 0 null default 来占位 82 -- 向classes表中插入 一个班级 83 insert into classes values(0, "菜鸟班"); 84 85 86 +--------+-------------------------------------+------+-----+------------+----------------+ 87 | Field | Type | Null | Key | Default | Extra | 88 +--------+-------------------------------------+------+-----+------------+----------------+ 89 | id | int(10) unsigned | NO | PRI | NULL | auto_increment | 90 | name | varchar(30) | YES | | NULL | | 91 | age | tinyint(3) unsigned | YES | | 0 | | 92 | gender | enum('男','女','中性','保密') | YES | | 保密 | | 93 | cls_id | int(10) unsigned | YES | | NULL | | 94 | birth | date | YES | | 2000-01-01 | | 95 +--------+-------------------------------------+------+-----+------------+----------------+ 96 97 -- 向students表插入 一个学生信息 98 insert into students values(0, "小李飞刀", 20, "女", 1, "1990-01-01"); 99 insert into students values(null, "小李飞刀", 20, "女", 1, "1990-01-01"); 100 insert into students values(default, "小李飞刀", 20, "女", 1, "1990-01-01"); 101 102 -- 失败 103 -- insert into students values(default, "小李飞刀", 20, "第4性别", 1, "1990-02-01"); 104 105 -- 枚举中 的 下标从1 开始 1---“男” 2--->"女".... 106 insert into students values(default, "小李飞刀", 20, 1, 1, "1990-02-01"); 107 108 -- 部分插入 109 -- insert into 表名(列1,...) values(值1,...) 110 insert into students (name, gender) values ("小乔", 2); 111 112 113 -- 多行插入 114 insert into students (name, gender) values ("大乔", 2),("貂蝉", 2); 115 insert into students values(default, "西施", 20, "女", 1, "1990-01-01"), (default, "王昭君", 20, "女", 1, "1990-01-01"); 116 117 118 -- 修改 119 -- update 表名 set 列1=值1,列2=值2... where 条件; 120 update students set gender=1; -- 全部都改 121 update students set gender=1 where name="小李飞刀"; -- 只要name是小李飞刀的 全部的修改 122 update students set gender=1 where id=3; -- 只要id为3的 进行修改 123 update students set age=22, gender=1 where id=3; -- 只要id为3的 进行修改 124 125 -- 查询基本使用 126 -- 查询所有列 127 -- select * from 表名; 128 select * from students; 129 130 ---定条件查询 131 select * from students where name="小李飞刀"; -- 查询 name为小李飞刀的所有信息 132 select * from students where id>3; -- 查询 name为小李飞刀的所有信息 133 134 135 -- 查询指定列 136 -- select 列1,列2,... from 表名; 137 select name,gender from students; 138 139 140 -- 可以使用as为列或表指定别名 141 -- select 字段[as 别名] , 字段[as 别名] from 数据表 where ....; 142 select name as 姓名,gender as 性别 from students; 143 144 145 -- 字段的顺序 146 select id as 序号, gender as 性别, name as 姓名 from students; 147 148 149 -- 删除 150 -- 物理删除 151 -- delete from 表名 where 条件 152 delete from students; -- 整个数据表中的所有数据全部删除 153 delete from students where name="小李飞刀"; 154 155 -- 逻辑删除 156 -- 用一个字段来表示 这条信息是否已经不能再使用了 157 -- 给students表添加一个is_delete字段 bit 类型 158 alter table students add is_delete bit default 0; 159 update students set is_delete=1 where id=6;
浙公网安备 33010602011771号