: mysql -uroot -proot
: exit,or\q
登入时: mysql -uroot -proot -prompt 提示符
登入后: mysql>prompt 提示符>
有符号:-128~127
无符号位:0~255
1SMALLINT有符号:-32768~32767
无符号:0~65535
2MEDIUMINT有符号:-8388608~8388607
无符号:0~4294967295
3INT有符号:-2^31~2^31-1
无符号:
4BIGINT有符号:-2^63~2^63-1
无符号:0~2^64
8 列类型存储需求CHAR(M)M个字节,0<=M<=255
VARCHAR(M)L+1个字节,L<=M,0<=M<=65535 not nullTINYTEXTL+1个字节,TEXTL+2MEDIUMTEXTL+3LONGTEXTL+4ENUM('value','value',..)1或2个字节SET('value','value',..)1,2,3,4,或8个字节
:关键字与函数名名称全部大写。数据库名称,表名称字段名称全部小写。sql的语句必须以分号结尾。
SELECT VERSION(); 显示当前服务器版本
SELECT NOW();显示当前时间
SELECT USER();显示当前用户
DESC 表名:显示字段
创建数据库:
CREATE DATABASE|schema[IF NOT EXITS] db_name CHARACTER SET charset_name(为编码方式);
修改数据库:
ALTER DATABASE|schema[db_name] CHARACTER SET charset_name;
查看修改的数据库:
SHOW CREATE DATABASE db_name;
删除数据库:
DROP DATABASE|schema [IF EXISTS] db_name;
创建数据表:CREATE TABLE[IF NOT EXISTS] table_name(column_name data_type,...);
查看当前数据库下的数据表:SHOW TABLES[FROM db_name][LIKE 'pattern'|WHERE expr];
查看创建的数据类型:SHOW CREATE TABLE db_name;
查看创建的数据表:SHOW COLUMNS FROM tbl_name;
修改数据表: ALTER TABLE tdb_goods CHANGE goods_cate cate_id SMALLINT UNSIGNED NOT NULL, CHANGE brand_name brand_id SMALLINT UNSIGNED NOT NULL;
插入记录:
INSERT[INTO] tbl_name[(col_name,...)] {VALUES|VALUE}({expr|DAFAULT},...),(...),...;
INSERT[INTO] tb_name SET col_name={expr|DEFAULT},...
记录查找:
SELECT expr,... FROM tbl_name;
INSERT tb2_name SELECT col_name FROM tbl_name1 WHERE condition;.//将查询的结果插入到指定的数据表删除记录: DELETE FROM tb_name WHERE [where_condition] (例id=3);
查询结果分组: SELECT col_name FRON tbl_name GROUP BY {col_name|position} [ASC|DESC];//前者为升序,后为降。
删除列:
ALTER TABLE tb_name DROP[COLUMN] column_name;
添加单列:
ALTER TABLE tb_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name];
添加多列:
ALTER TABLE tb_name ADD [COLUMN] (col_name column_definition,...)(例money VARCHAR NOT NULL,...)
修改列所在的位置:
ALTER TABLE son1 MODIFY name VARCHAR(32) NOT NULL [FIRST|AFTER pid];
修改列名称:
ALTER TABLE tb_name CHANGE[COLUMN] old_col_name new_col_name column_definition[FIRST|AFTER col_name]
主键约束:PRIMARY KEY每张数据表只能存在一个主键,保证记录的唯一性,主键自动为NOT NULL;
添加主键约束:ALTER TABLE tb_name ADD [CONSTRAINT[symbol]] PRIMARY KEY (index_col_name)
唯一约束:UNIQUE KEY可以为空值,可以存在多个唯一约束;
添加唯一约束:ALTER TABLE tb_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX|KEY] (index_col_name,...);
默认约束:DEFAULT
添加或删除默认约束:ALTER TABLE tb_name ALTER col_name {SET DEFAULT literal|DROP DEFAULT};
外键约束:FOREING KEY //FOREIGN KEY (pid) REFERENCES (id);
添加外键约束:ALTER TABLE tb_name ADD [CONSTRAINT[symbol]] FOREIGN KEY (index_col_name,...) REFERENCES db_name (col_name)
:CASCADE :父表删除或更新影响字表// 例 FOREIGN KEY (pid) REFERENCES fu(id) ON DELETE CASCADE
:SET NULL:从父表删除或更新行,并设置字表中的外键列
:RESTRICT: 拒绝对付表的删除或更新操作
:NO ACTION :在mysql中与RESTRICT相同;
删除约束:
ALTER TABLE tb_name DROP PRIMARY KEY
ALTER TABLE tb_name DROP INDEX 索引名
ALTER TABLE tb_name DROP FOREIGN KEY name;
数据表改名:
ALTER TABLE tb_name RENAME [TO|AS] new_tbl_name;
RENAME TABLE tbl_name TO new_tbl_name[,tbl_name2 to new_tbl_name2]...
单表更新:UPDATE [LOW_PRIORITY] [IGNORE] tb_name SET col_name1={expr1|DEFAULT} [,col_name={expr2|DEFAULT}]...[WHERE where_condition];//
单表删除:DELETE FROM tbl_name [WHERE where_conditon];
查找记录:
SELECT select_expr [,select expr2...] 只查找某一个函数或表达式
[
FROM table_references 查询表名
[WHERE where_condition]查询条件
[GROUP BY {col_name|position} [ASC|DESC],...] 按某个字段进行分组,相同的只显示第一个
[HAVING where condition]分组时,给出显示条件
[ORDER BY {col_name|expr|position} [ASC|DESC],...]排序
[LIMIT {[offset,]row_count|row_count OFFSET offset}]限制返回数量
]
使用in 或 not in 引发的子查询: =any等效in,!=All,<>all等效于not in;
由比较运算符(=,>=...)引发的子查询:operand comparison_operator subquery;
使用insert...select插入记录: insert tdb_goods_cates(cate_name) select goods_cate from tdb_goods group by goods_cate;
语法结构: table_reference {[inner | cross] join |{left | right}[outer] join}(内连接,外连接) table_reference on conditional_expr
update tdb_goods inner join tdb_goods_cates on goods_cate = cate_name set goods_cate = cate_id;
UPDATE tdb_goods INNER JOIN tdb_goods_brand ON tdb_goods.brand_name = tdb_goods_brand.brand_name SET tdb_goods.brand_name= tdb_goods_brand.brand_id;
CREATE TABLE tdb_goods_brands ( brand_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, brand_name VARCHAR(30) NOT NULL ) SELECT brand_name FROM tdb_goods GROUP BY brand_name;
last_insert_id():最后插入记录的id号
connection_ID()连接的id
create function f1() returns varchar(30) return date_format(now(),'%Y年%m月%d日 %H点:%i分:%s秒'); select f1();
CREATE [DEFINER = { user|CURRENT_USER}] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...]routine_body proc_parameter: [IN|OUT|INOUT]param_name type
转载于:https://www.cnblogs.com/yuanan/p/6670298.html