ホームページ >データベース >mysql チュートリアル >Mysql の基本操作について詳しく学ぶ
1.テーブルhelloの構造をテーブルhello3
にコピーします2.テーブルが2つある場合。構造は同じなので、すべての列のデータをコピーする必要があります
mysql> insert into hello3 select * from hello;
b. 2つのテーブルの構造は異なる場合があり、一部の列のデータのみをコピーする必要がありますmysql> insert into hello3 (name,sex,degree) select name,sex,degree from hello;
インデックス
1. create インデックスを作成します (通常のインデックスと一意のインデックスのみを作成できます)
通常のインデックスを作成します: mysql> createindex in_name on hello(name); name 列に in_name という名前のインデックスを作成します。こんにちはテーブルで。
一意のインデックスを作成します: mysql> create uniqueindex un_name on hello(name); hello テーブルの name 列に un_name という名前の一意のインデックスを作成します。 インデックスの表示: mysql> hello からのインデックスの表示; テーブル hello のインデックスを表示します。
インデックスの削除: mysql> hello テーブルの in_name という名前のインデックスを削除します。
2. alter はインデックスを作成します (インデックスを作成する一般的な方法)通常のインデックスを作成します: mysql> alter table
helloaddindex in_name(
name); hello テーブルの列 in_name のインデックス。 (通常/一意の) インデックスの削除: mysql> alter table hellodropindex in_name; hello テーブル内の in_name という名前の通常のインデックスを削除します。 自動インクリメントの削除: mysql> alter table hello edit id int unsigned not null; テーブル hello の id カラム (int 型) の自動インクリメント機能を削除します。 主キーインデックスを削除します: mysql> alter table hello drop PRIMARY KEY;
一意のインデックスを作成します: mysql> alter table hello add unique(name); インデックス名。がデフォルトです。
主キーインデックスの作成: mysql> alter table hello add Primary key(id); hello テーブルの id フィールドの主キーインデックスを作成します。
主キーのインデックスを自動インクリメントに設定します: mysql> alter table hellomodify id int unsigned not null auto_increment; hello テーブルの主キー ID 列を自動インクリメントに設定します。
3. ビュービューの作成: mysql> create view v_hello as select * from hello where id >5; ビューの作成プロセスを表示: mysql> v_hello; ; ビュー ビュー v_hello の作成プロセス。
IV.組み込み関数
文字関数2. LCASE(str1)を小文字に変換します mysql> select lcase("MYSQL");
3. UCASE(str1)を大文字に変換します
select UCASE("Mysql");
4. LENGTH (str) strの長さ
mysql> select length('mysql');
5. LTRIM(Str) は先行するスペースを削除します
select LTRIM('mysql');
6. RTRIM(str) バックエンドスペースを削除します
select RTRIM(' mysql ');
7. REPEAT(str,count) 繰り返し回数
mysql> selectrepeat('mysql',2);
8. REPLACE(str, search_str,replcae_str) strのsearch_strをreplac_strに置き換えます
mysql> select REPLACE('mysql','m','M');
9. SUBSTRING(str,postion,length)から取得str の長さの文字の位置
select substring('mysql',1,2); 10. SPACE(count) は count 個のスペースを生成します
select concat(space(3),'mysql) ') ;
数学関数 1. BIN(10 進数): 10 進数を 2 進数に変換します 2. CEILING(number) 切り上げ mysql> 結果: 113、FLOOR(number) 向下取整 mysql> select ceiling(10.12); 结果:10 4、MAX(column) 获取 最大列 5、MIN(column) 获取最小列 6、SQRT(num) 开平方 7、RAND() 返回0-1之间的随机数值 日期函数 1、CURDATE() 返回当前日期格式 yyyy-MM-dd 2、CURTIME()返回档期时间 12:11:56 3、NOW()返回当前时间 2017-05-12 21:12:34 4、UNIX_TIMESTAMP(date) 返回当前date的时间戳 5、FROM_UNIXTIME()返回UNIX时间戳的日期值 6、WEEK(date)返回当前时间date为一年中的第几周 7、YEAR(data)返回当前时间date的年份 8、DATEDIFF(expr1,expr2) 返回expr1与expr2之间的天数 无变量: 创建预处理语句:mysql> prepare stmt1 from 'select * from hello where id>5';创建一个名为stmt1的预处理语句 执行预处理语句:mysql> execute stmt1;执行stmt1预处理语句 带变量: 创建带参数的预处理语句:mysql> prepare stmt1 from 'select * from hello where id>?' 设置变量:mysql> set @i=6; 执行预处理语句:mysql> execute stmt2 using @i; 删除预处理语句:mysql> drop prepare stmt2; #mysql> DEALLOCATE PREPARE stmt2; 注意:每一次执行完EXECUTE时,养成好习惯,须执行DEALLOCATE PREPARE … 语句,这样可以释放执行中使用的所有数据库资源(如游标)。 mysql默认事务是自动提交的。在做mysql事务处理时请将数据库或者表的ENGINE 设置为InnoDB 将表的存储引擎设置为INNODB:mysql> alter table hello engine=innodb; 设置mysql为非自动提交:mysql> set autocommit=0; 产生事务:mysql> delete from hello where id>7; 事务回滚:mysql> rollback; 事务提交:mysql> commit; 关于事务中的还原点: 创建一个事务:mysql> insert into hello (sex,degree,name) values(1,12312.32,'HHH'); 对该事务设置还原点:mysql> savepoint p1; 回滚到指定的还原点:mysql> rollback to p1; 此时事务恢复到p1,也就是p1之后的事务p2 ,p3..这些还原点将失效。 回滚到原始的还原点:mysql> rollback; mysql中我们的主键id如果设置为主键自增策略,那我们如何清空表,并且恢复自增列id的值。 方式一:使用truncate table tableName; 该方式在清空表的同时恢复auto_increment 的值。 方式二: 1、mysql> delete from hello3; 清空表 (该方式效率较低) 2、mysql> alter table hello3 auto_increment=1; 恢复auto_increment 的起始值为1五、预处理语句
不仅如此,如果一个session的预处理语句过多,可能会达到max_prepared_stmt_count的上限值。六、事务处理
七、存储过程
<!-- 创建存储过程 hello1()-->
CREATE PROCEDURE hello1()
BEGIN
SET @i=0;
WHILE @i<100 DO
insert INTO hello (sex,degree,name) VALUES(1,@i,CONCAT('name',@i));
SET @i=@i+1;
END WHILE;
end;
<!-- 查看存储-->
SHOW PROCEDURE STATUS;
<!-- 查看hello1()存储过程-->
show CREATE PROCEDURE hello1;
<!-- 执行存储过程-->
CALL hello1;
八、重排auto_increment值
以上がMysql の基本操作について詳しく学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。